XFDF形式の注釈をインポートおよびエクスポートする方法 | Aspose.PDF for C++
XFDFはPDFリーダーと互換性のあるファイル形式です。XFDFファイルはXML形式を使用してデータを保存し、フォームのエンコードや注釈などを保存し、PDFにインポート/エクスポートして表示できます。
XFDFはさらに多くの異なるタスクに使用できますが、私たちの場合、それはフォームデータや注釈を他のコンピュータやサーバーなどに送信または受信するために使用することができます。また、フォームデータや注釈をアーカイブするためにも使用できます。
**Aspose.PDF for C++**は、PDFドキュメントを編集する際に豊富な機能を備えたコンポーネントです。 ``` As we know XFDF is an important aspect of PDF forms manipulation, Aspose.Pdf.Facades namespace in Aspose.PDF for C++ has considered this very well, and have provided methods to import and export annotations data to XFDF files.
XFDFはPDFフォーム操作の重要な側面であることはご存知の通りですが、Aspose.PDF for C++のAspose.Pdf.Facades名前空間はこれを非常によく考慮しており、XFDFファイルへの注釈データのインポートおよびエクスポートの方法を提供しています。
PDFAnnotationEditor class contains two methods to work with import and export of annotations to XFDF file.
PDFAnnotationEditor クラスには、XFDFファイルへの注釈のインポートとエクスポートを扱うための2つのメソッドが含まれています。
次のコードスニペットは、注釈を XFDF ファイルにエクスポートする方法を示しています:
```cpp
using namespace System;
using namespace Aspose::Pdf;
using namespace Aspose::Pdf::Annotations;
using namespace Aspose::Pdf::Facades;
void AnnotationImportExport::ExportAnnotationXFDF() {
String _dataDir("C:\\Samples\\");
// PdfAnnotationEditor オブジェクトを作成
auto annotationEditor = MakeObject<PdfAnnotationEditor>();
// PDF ドキュメントを注釈エディターにバインド
annotationEditor->BindPdf(_dataDir + u"AnnotationDemo1.pdf");
// 注釈をエクスポート
auto fileStream = System::IO::File::OpenWrite(_dataDir +u"exportannotations.xfdf");
auto annotType = MakeArray<AnnotationType>({ AnnotationType::Line, AnnotationType::Square });
annotationEditor->ExportAnnotationsXfdf(fileStream, 1, 1, annotType);
fileStream->Flush();
fileStream->Close();
}
XFDFファイルに注釈をインポートする方法を示す次のコードスニペットです:
void AnnotationImportExport::ImportAnnotationXFDF() {
// PdfAnnotationEditorオブジェクトを作成
auto annotationEditor = MakeObject<PdfAnnotationEditor>();
// 新しいPDFドキュメントを作成
auto document = new Document();
document->get_Pages()->Add();
annotationEditor->BindPdf(document);
String _dataDir("C:\\Samples\\");
String exportFileName = _dataDir + u"exportannotations.xfdf";
if (!System::IO::File::Exists(exportFileName))
ExportAnnotationXFDF();
// 注釈をインポート
annotationEditor->ImportAnnotationsFromXfdf(exportFileName);
// 出力PDFを保存
document->Save(_dataDir + u"AnnotationDemo2.pdf");
}
一度に注釈をエクスポート/インポートする別の方法
以下のコードでは、ImportAnnotationsメソッドが別のPDFドキュメントから直接注釈をインポートすることを可能にします。
void AnnotationImportExport::ImportAnnotationFromPDF() {
// PdfAnnotationEditorオブジェクトを作成
auto annotationEditor = MakeObject<PdfAnnotationEditor>();
// 新しいPDFドキュメントを作成
auto document = new Document();
document->get_Pages()->Add();
annotationEditor->BindPdf(document);
String _dataDir("C:\\Samples\\");
String exportFileName = _dataDir + u"exportannotations.xfdf";
if (!System::IO::File::Exists(exportFileName))
ExportAnnotationXFDF();
// 注釈エディタは複数のPDFドキュメントから注釈をインポートすることを許可しますが、
// この例では1つだけ使用します。
auto fileStreams = MakeArray<String>({ _dataDir + u"AnnotationDemo1.pdf" });
annotationEditor->ImportAnnotations(fileStreams);
// 出力PDFを保存
document->Save(_dataDir + u"AnnotationDemo3.pdf");
}