Импорт и экспорт аннотаций в формате XFDF
Aspose.PDF для .NET является функционально насыщенным компонентом, когда речь идет о редактировании документов PDF. Как мы знаем, XFDF является важным аспектом манипулирования формами PDF, пространство имен Aspose.Pdf.Facades в Aspose.PDF для .NET очень хорошо это учло и предоставило методы для импорта и экспорта данных аннотаций в файлы XFDF.
Класс PDFAnnotationEditor содержит два метода для работы с импортом и экспортом аннотаций в файл XFDF. Класс PDFAnnotationEditor содержит два метода для работы с импортом и экспортом аннотаций в файл XFDF.
Следующий фрагмент кода также работает с библиотекой 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 Forms Data Format (XFDF), созданный приложением Adobe Acrobat для авторства PDF;
/// содержит описания элементов форм страницы и их значений, таких как имена и значения текстовых полей;
/// используется для сохранения данных формы, которые могут быть импортированы в документ PDF.
/// Вы можете импортировать данные аннотации из файла XFDF в PDF, используя
/// метод ImportAnnotationsFromXfdf в классе PdfAnnotationEditor.
/// </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 документов,
// но в этом примере мы используем только один.
AnnotationEditor.ImportAnnotations(new[] { Path.Combine(_dataDir, "AnnotationDemo1.pdf") });
// Сохранить выходной PDF
document.Save(Path.Combine(_dataDir, "AnnotationDemo3.pdf"));
}
}
}