XFDF形式の注釈をインポートおよびエクスポートする方法 | Aspose.PDF for C++

**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");
}