Importer et Exporter des Annotations vers XFDF

XFDF signifie XML Forms Data Format. C’est un format de fichier basé sur XML. Ce format de fichier est utilisé pour représenter les données de formulaire ou les annotations contenues dans un formulaire PDF. XFDF peut être utilisé à de nombreuses fins différentes, mais dans notre cas, il peut être utilisé pour envoyer ou recevoir des données de formulaire ou des annotations vers d’autres ordinateurs ou serveurs, etc., ou il peut être utilisé pour archiver les données de formulaire ou les annotations. Dans cet article, nous allons voir comment Aspose.Pdf.Facades a pris ce concept en considération et comment nous pouvons importer et exporter des données d’annotations vers un fichier XFDF.

Importation et Exportation des Annotations vers XFDF

Aspose.PDF for .NET est un composant riche en fonctionnalités lorsqu’il s’agit d’éditer des documents PDF. Comme nous le savons, XFDF est un aspect important de la manipulation des formulaires PDF, le namespace Aspose.Pdf.Facades dans Aspose.PDF for .NET a très bien pris cela en compte et a fourni des méthodes pour importer et exporter des données d’annotations vers des fichiers XFDF.

La classe PDFAnnotationEditor contient deux méthodes pour travailler avec l’importation et l’exportation d’annotations vers un fichier XFDF. La méthode ExportAnnotationsXfdf fournit la fonctionnalité pour exporter des annotations d’un document PDF vers un fichier XFDF, tandis que la méthode ImportAnnotationFromXfdf vous permet d’importer des annotations à partir d’un fichier XFDF existant. Pour importer ou exporter des annotations, nous devons spécifier les types d’annotations. Nous pouvons spécifier ces types sous forme d’énumération et ensuite passer cette énumération comme argument à l’une de ces méthodes. De cette manière, seules les annotations des types spécifiés seront importées ou exportées vers un fichier XFDF.

Le code suivant montre comment importer des annotations dans un fichier XFDF :

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ImportAnnotation()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdfFacades_Annotations();

    // Sources of PDF with annotations           
    var sources = new string[] { dataDir + "ImportAnnotations.pdf" };
            
    using (var annotationEditor = new Aspose.Pdf.Facades.PdfAnnotationEditor())
    {
        // Bind PDF document
        annotationEditor.BindPdf(dataDir + "input.pdf");
        annotationEditor.ImportAnnotations(sources);
        // Save PDF document
        annotationEditor.Save(dataDir + "ImportAnnotations_out.pdf");
    }
}

Le code suivant décrit comment importer/exporter des annotations vers un fichier XFDF :

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ImportExportXFDF01()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdfFacades_Annotations();

    using (var annotationEditor = new Aspose.Pdf.Facades.PdfAnnotationEditor())
    {
        // Bind PDF document
        annotationEditor.BindPdf(dataDir + "ExportAnnotations.pdf");
        using (FileStream xmlOutputStream = File.OpenWrite(dataDir + "exportannotations_out.xfdf"))
        {
            annotationEditor.ExportAnnotationsToXfdf(xmlOutputStream);
        }

        // Create PDF document
        using (var document = new Aspose.Pdf.Document())
        {
            // Add page
            document.Pages.Add();
            // Bind PDF document
            annotationEditor.BindPdf(document);
            annotationEditor.ImportAnnotationsFromXfdf(File.OpenRead(dataDir + "exportannotations_out.xfdf"));
            // Save PDF document
            annotationEditor.Save(dataDir + "ImportedAnnotation_out.pdf");
        }
    }
}

De cette manière, seules les annotations des types spécifiés seront importées ou exportées vers un fichier XFDF.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ImportExportXFDF02()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdfFacades_Annotations();
    
    using (var annotationEditor = new Aspose.Pdf.Facades.PdfAnnotationEditor())
    {
        // Bind PDF document
        annotationEditor.BindPdf(dataDir + "ExportAnnotations.pdf");

        // Export annotations
        using (FileStream xmlOutputStream = File.OpenWrite(dataDir + "exportannotations_out.xfdf"))
        {
            var annotationTypes = new[] {AnnotationType.FreeText, AnnotationType.Text};
            annotationEditor.ExportAnnotationsXfdf(xmlOutputStream, 1, 5, annotationTypes);
        }

        // Import annotations
        using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
        {
            // Add page
            document.Pages.Add();
            // Bind PDF document
            annotationEditor.BindPdf(document);
            annotationEditor.ImportAnnotationsFromXfdf(File.OpenRead(dataDir + "annotations.xfdf"));
            // Save PDF document
            annotationEditor.Save(dataDir + "ImportedAnnotation_XFDF02_out.pdf");
        }
    }
}