XFDF形式で注釈のインポートとエクスポート
Contents
[
Hide
]
XFDFはXML Forms Data Formatの略です。これはXMLベースのファイル形式です。このファイル形式は、PDFフォームに含まれるフォームデータまたは注釈を表すために使用されます。XFDFはさまざまな目的で使用できますが、この場合、他のコンピューターやサーバー等へのフォームデータや注釈の送受信、またはフォームデータや注釈のアーカイブのために使用できます。この記事では、Aspose.Pdf.Facadesがこのコンセプトをどのように考慮しているか、そしてXFDFファイルへの注釈データのインポートとエクスポートをどのように行うかを見ていきます。
Aspose.PDF for .NETはPDFドキュメントの編集に関しては機能豊富なコンポーネントです。XFDFはPDFフォーム操作の重要な側面であることを考慮して、Aspose.PDF for .NETのAspose.Pdf.Facades名前空間はこれを非常によく考慮しており、XFDFファイルへの注釈データのインポートとエクスポートの方法を提供しています。
PDFAnnotationEditor クラスには、XFDFファイルへの注釈のインポートとエクスポートを行うための2つのメソッドが含まれています。 PDFAnnotationEditor クラスには、XFDFファイルへの注釈のインポートとエクスポートを操作するための2つのメソッドが含まれています。
次のコードスニペットは、Aspose.PDF.Drawing ライブラリとも動作します。
次のコードスニペットは、XFDFファイルへの注釈のエクスポート方法を示しています:
using Aspose.Pdf.Annotations;
using Aspose.Pdf.Facades;
using System.IO;
namespace Aspose.Pdf.Examples.Advanced
{
class ExampleAnnotationImportExport
{
// ドキュメントディレクトリへのパス。
private const string _dataDir = "..\\..\\..\\..\\Samples";
/// <summary>
/// XFDFファイルからの注釈のインポート
/// アドビアクロバットによって作成されたXMLフォームデータフォーマット(XFDF)ファイル;
/// ページフォーム要素とその値の説明を格納し、テキストフィールドの名前や値などが含まれます。
/// PdfAnnotationEditorクラスのImportAnnotationsFromXfdfメソッドを使用して、XFDFファイルからPDFへ注釈データをインポートできます。
/// </summary>
public static void ExportAnnotationXFDF()
{
// PdfAnnotationEditorオブジェクトを作成
PdfAnnotationEditor AnnotationEditor = new PdfAnnotationEditor();
// PDFドキュメントをアノテーションエディタにバインド
AnnotationEditor.BindPdf(Path.Combine(_dataDir, "AnnotationDemo1.pdf"));
// 注釈をエクスポート
var fileStream = File.OpenWrite(Path.Combine(_dataDir, "exportannotations.xfdf"));
var annotType = new AnnotationType[] { AnnotationType.Line, AnnotationType.Square };
AnnotationEditor.ExportAnnotationsXfdf(fileStream, 1, 1, annotType);
fileStream.Flush();
fileStream.Close();
}
//...
}
}
次のコードスニペットは、XFDFファイルにアノテーションをインポートする方法を説明しています:
public static void ImportAnnotationXFDF()
{
// PdfAnnotationEditor オブジェクトを作成する
PdfAnnotationEditor AnnotationEditor = new PdfAnnotationEditor();
// 新しいPDFドキュメントを作成する
var document = new Document();
document.Pages.Add();
AnnotationEditor.BindPdf(document);
var exportFileName = Path.Combine(_dataDir, "exportannotations.xfdf");
if (!File.Exists(exportFileName))
ExportAnnotationXFDF();
// アノテーションをインポートする
AnnotationEditor.ImportAnnotationsFromXfdf(exportFileName);
// 出力PDFを保存する
document.Save(Path.Combine(_dataDir, "AnnotationDemo2.pdf"));
}
アノテーションのエクスポート/インポートを一度に行う別の方法
以下のコードでは、ImportAnnotationsメソッドを使用して、別のPDFドキュメントから直接アノテーションをインポートします。
/// <summary>
/// ImportAnnotationsメソッドは、別のPDFドキュメントから直接アノテーションをインポートすることを可能にします
/// </summary>
public static void ImportAnnotationFromPDF()
{
// PdfAnnotationEditor オブジェクトを作成する
PdfAnnotationEditor AnnotationEditor = new PdfAnnotationEditor();
// 新しいPDFドキュメントを作成する
var document = new Document();
document.Pages.Add();
AnnotationEditor.BindPdf(document);
var exportFileName = Path.Combine(_dataDir, "exportannotations.xfdf");
if (!File.Exists(exportFileName))
ExportAnnotationXFDF();
// アノテーションエディターは複数のPDFドキュメントからのアノテーションのインポートを許可しますが、
// この例では1つだけを使用します。
AnnotationEditor.ImportAnnotations(new[] { Path.Combine(_dataDir, "AnnotationDemo1.pdf") });
// 出力PDFを保存する
document.Save(Path.Combine(_dataDir, "AnnotationDemo3.pdf"));
}
}
}