Мне нужен пример кода или код для чтения и записи аннотаций, а также статус обратно в новый документ PDF? - PullRequest
0 голосов
/ 26 марта 2019

Мне нужно записать статус аннотации в новый pdf с обновленной версией.Ниже приведен код, который я использую для него.

Я попробовал бета-версию Syncfusion 17.0

PdfLoadedDocument docSource = new PdfLoadedDocument(@"D:\Output1_annotaions.pdf");
PdfLoadedDocument docDestination = new PdfLoadedDocument(@"D:\Output1.pdf");

//Get annotations of first page and read destination of first page
PdfLoadedPage pageDestination = docDestination.Pages[0] as PdfLoadedPage;
PdfLoadedPage pageSource = docSource.Pages[0] as PdfLoadedPage;

//Get annotation objects
PdfLoadedAnnotationCollection annotations = pageSource.Annotations;

//loop through annotation objects
foreach (var item in annotations)
{
    pageDestination.Annotations.Add((PdfAnnotation)item);
}

//Save destination document
docDestination.Save(@"D:\Output1.pdf");

//close the documents
docDestination.Close(true);
docSource.Close(true);

Мне нужно написать все аннотации из одной версии PDF в более новую версию PDF вместе со статусом вложенных ответовдля аннотаций с использованием syncfusion.

1 Ответ

0 голосов
/ 27 марта 2019

Пример кода, который вы использовали, не полностью импортирует все аннотации, присутствующие в исходном PDF, в целевой PDF. Чтобы импортировать аннотацию из одного документа в другой, вы можете использовать приведенный ниже пример кода:

///Loads the source and destination PDF
PdfLoadedDocument sourcePDF = new PdfLoadedDocument(DataPathBase+"Input.pdf");
PdfLoadedDocument destinationPDF = new PdfLoadedDocument(DataPathBase+"sample.pdf");

string xfdfFilePath = DataPathOutput + "Export_.xfdf";
//Export annotation data to XFDF file
sourcePDF.ExportAnnotations(xfdfFilePath, AnnotationDataFormat.XFdf);

//Import annotation data from XFDF file
destinationPDF.ImportAnnotations(xfdfFilePath, AnnotationDataFormat.XFdf);

//Save imported PDF document
destinationPDF.Save(DataPathOutput+"Output.pdf");

//close the documents
destinationPDF.Close(true);
sourcePDF.Close(true);

Вы можете обратиться к нижеуказанной документации UG для того же: https://help.syncfusion.com/file-formats/pdf/working-with-annotations#importing-annotations-from-xfdf-file

Однако использование этого кода не позволяет правильно импортировать аннотации со статусом в некоторых документах PDF. Это подтверждается как дефект, и исправление этой проблемы будет включено в нашу версию тома 1 SP1 2019 года, которая будет ориентировочно доступна к апрелю 2019 года.

Статус этого исправления можно отслеживать по следующей ссылке. https://www.syncfusion.com/feedback/5430/status-and-layer-is-not-preserved-in-resultant-pdf-while-importing-annotation-from-xfdf

Примечание: я работаю в Syncfusion.

С уважением,

Дилли Бабу.

...