Importação e Exportação de Anotações para XFDF
Aspose.PDF for .NET é um componente rico em recursos quando se trata de editar documentos PDF. Como sabemos que XFDF é um aspecto importante da manipulação de formulários PDF, o namespace Aspose.Pdf.Facades em Aspose.PDF for .NET considerou isso muito bem e forneceu métodos para importar e exportar dados de anotações para arquivos XFDF.
A classe PDFAnnotationEditor contém dois métodos para trabalhar com importação e exportação de anotações para arquivo XFDF. A classe PDFAnnotationEditor contém dois métodos para trabalhar com importação e exportação de anotações para o arquivo XFDF.
O seguinte trecho de código também funciona com a biblioteca Aspose.PDF.Drawing.
O seguinte trecho de código mostra como exportar anotações para um arquivo XFDF:
using Aspose.Pdf.Annotations;
using Aspose.Pdf.Facades;
using System.IO;
namespace Aspose.Pdf.Examples.Advanced
{
class ExampleAnnotationImportExport
{
// O caminho para o diretório de documentos.
private const string _dataDir = "..\\..\\..\\..\\Samples";
/// <summary>
/// Importando anotações do arquivo XFDF
/// Arquivo no Formato de Dados de Formulários XML (XFDF) criado pelo Adobe Acrobat, uma aplicação de autoria PDF;
/// armazena descrições de elementos de formulário de página e seus valores, como os nomes e valores para
/// campos de texto; usado para salvar dados de formulário que podem ser importados em um documento PDF.
/// Você pode importar dados de anotação do arquivo XFDF para PDF usando
/// o método ImportAnnotationsFromXfdf na classe PdfAnnotationEditor.
/// </summary>
public static void ExportAnnotationXFDF()
{
// Criar objeto PdfAnnotationEditor
PdfAnnotationEditor AnnotationEditor = new PdfAnnotationEditor();
// Vincular documento PDF ao Editor de Anotações
AnnotationEditor.BindPdf(Path.Combine(_dataDir, "AnnotationDemo1.pdf"));
// Exportar anotações
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();
}
//...
}
}
O próximo trecho de código descreve como importar anotações para um arquivo XFDF:
public static void ImportAnnotationXFDF()
{
// Cria objeto PdfAnnotationEditor
PdfAnnotationEditor AnnotationEditor = new PdfAnnotationEditor();
// Cria um novo documento PDF
var document = new Document();
document.Pages.Add();
AnnotationEditor.BindPdf(document);
var exportFileName = Path.Combine(_dataDir, "exportannotations.xfdf");
if (!File.Exists(exportFileName))
ExportAnnotationXFDF();
// Importa anotação
AnnotationEditor.ImportAnnotationsFromXfdf(exportFileName);
// Salva o PDF de saída
document.Save(Path.Combine(_dataDir, "AnnotationDemo2.pdf"));
}
Outra maneira de exportar/importar anotações de uma só vez
No código abaixo, um método ImportAnnotations permite importar anotações diretamente de outro documento PDF.
/// <summary>
/// O método ImportAnnotations permite importar anotações diretamente de outro documento PDF
/// </summary>
public static void ImportAnnotationFromPDF()
{
// Cria objeto PdfAnnotationEditor
PdfAnnotationEditor AnnotationEditor = new PdfAnnotationEditor();
// Cria um novo documento PDF
var document = new Document();
document.Pages.Add();
AnnotationEditor.BindPdf(document);
var exportFileName = Path.Combine(_dataDir, "exportannotations.xfdf");
if (!File.Exists(exportFileName))
ExportAnnotationXFDF();
// O Editor de Anotações permite importar anotações de vários documentos PDF,
// mas neste exemplo, usamos apenas um.
AnnotationEditor.ImportAnnotations(new[] { Path.Combine(_dataDir, "AnnotationDemo1.pdf") });
// Salva o PDF de saída
document.Save(Path.Combine(_dataDir, "AnnotationDemo3.pdf"));
}
}
}