Importar y Exportar Anotaciones al formato XFDF usando com.aspose.pdf.facades
XFDF significa Formato de Datos de Formularios XML. Es un formato de archivo basado en XML. Este formato de archivo se utiliza para representar datos de formulario o anotaciones contenidas en un formulario PDF. XFDF puede usarse para muchos propósitos diferentes, pero en nuestro caso, puede usarse para enviar o recibir datos de formulario o anotaciones a otras computadoras o servidores, etc., o puede usarse para archivar los datos de formulario o anotaciones. En este artículo, veremos cómo Aspose.Pdf.Facades ha tomado en consideración este concepto y cómo podemos importar y exportar datos de anotaciones a un archivo XFDF.
La clase PDFAnnotationEditor contiene dos métodos para trabajar con la importación y exportación de anotaciones al archivo XFDF. ExportAnnotationsXfdf método proporciona la funcionalidad para exportar anotaciones de un documento PDF a un archivo XFDF, mientras que el método ImportAnnotationFromXfdf le permite importar anotaciones desde un archivo XFDF existente. Para importar o exportar anotaciones necesitamos especificar los tipos de anotaciones. Podemos especificar estos tipos en forma de una enumeración y luego pasar esta enumeración como un argumento a cualquiera de estos métodos.
El siguiente fragmento de código le muestra cómo importar anotaciones a un archivo XFDF:
public static void ImportAnnotation() {
String[] sources = new String[] { _dataDir + "sample_cats_dogs.pdf" };
PdfAnnotationEditor annotationEditor = new PdfAnnotationEditor();
annotationEditor.bindPdf(_dataDir + "sample.pdf");
annotationEditor.importAnnotations(sources);
annotationEditor.save(_dataDir + "sample_demo.pdf");
}
El siguiente fragmento de código describe cómo importar/exportar anotaciones a un archivo XFDF:
public static void ImportExportXFDF01() {
PdfAnnotationEditor annotationEditor = new PdfAnnotationEditor();
annotationEditor.bindPdf(_dataDir + "sample_cats_dogs.pdf");
OutputStream xmlOutputStream;
try {
xmlOutputStream = new FileOutputStream(_dataDir + "sample.xfdf");
annotationEditor.exportAnnotationsToXfdf(xmlOutputStream);
xmlOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
Document document = new Document();
document.getPages().add();
annotationEditor.bindPdf(document);
annotationEditor.importAnnotationsFromXfdf(_dataDir + "sample.xfdf");
annotationEditor.save(_dataDir + "ImportedAnnotation.pdf");
}
De esta manera, las anotaciones de los tipos especificados solo serán importadas o exportadas a un archivo XFDF.
public static void ImportExportXFDF02() {
PdfAnnotationEditor annotationEditor = new PdfAnnotationEditor();
annotationEditor.bindPdf(_dataDir + "sample_cats_dogs.pdf");
OutputStream xmlOutputStream;
try {
xmlOutputStream = new FileOutputStream(_dataDir + "sample.xfdf");
int[] annotationTypes = new int[] { AnnotationType.FreeText, AnnotationType.Text };
annotationEditor.exportAnnotationsXfdf(xmlOutputStream, 2, 2, annotationTypes);
xmlOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
Document document = new Document(_dataDir + "sample.pdf");
document.getPages().add();
annotationEditor.bindPdf(document);
annotationEditor.importAnnotationsFromXfdf(_dataDir + "sample.xfdf");
annotationEditor.save(_dataDir + "ImportedAnnotation.pdf");
}