Form data export and PdfViewerControl.LoadedDocument

Hello!
I want to export form data into XFDF. Everything works fine when I'm doing it through PdfViewer.LoadedDocument:


// Load form handler
PdfViewerControl m_viewer;
m_viewer.Load( "form.pdf" );

// Save form handler
m_viewer.LoadedDocument.Form.ExportData( stream, DataFormat.XFdf, "form.pdf" );

But it doesn't save updated fields when the form is loaded into the instance PdfLoadedDocument passed to the viewer via XAML binding to the ItemSource property.

// Load form handler

PdfLoadedDocument m_doc = new PdfLoadedDocument("form.pdf");

// Actually this happens in XAML. Binding direction is OneWay
PdfViewerControl m_viewer;
m_viewer.ItemSource = m_doc;

// Save form handler
m_doc.Form.ExportData( stream, DataFormat.XFdf, "form.pdf" );


Do I need to do some synchronization? The document instance seems to be the same - m_viewer.LoadedDocument.Equals(m_doc) = true, so does the GetHashCode() of LoadedDocument and m_doc.

Regards

Denis.



2 Replies

KG Krithika Ganesan Syncfusion Team March 27, 2024 02:45 PM UTC

Hi Denis,

 

The changes we made in the PDF using PdfViewer will not be reflected in ItemSource property. However, in PdfViewer you can get loaded document updated information from LoadedDocument property. Also we highly recommended to use PdfViewer’s ExportFormData method, Instead of LoadedDocument’s. To export form data with PdfViewer, please use the below code snippet:

 

private void Export_Click(object sender, RoutedEventArgs e)

{

    pdfViewer.ExportFormData("Export.fdf", Syncfusion.Pdf.Parsing.DataFormat.Fdf, "SourceForm.pdf");

}

 

Please let us know whether the code snippet meet your requirements and if you have any concerns.

 

Regards,

Krithika



DZ Denis Zakharenko May 17, 2024 01:03 PM UTC

Thanks!


Loader.
Up arrow icon