Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Manipulating form fields within PDF documents can be crucial when handling data input and output operations in various applications. The Aspose.PDF library offers robust functionality for exporting and importing form fields in JSON format. Below, we explore several code snippets demonstrating how to perform these tasks using different approaches.
Since 24.7 it’s possible to add Import and Export Data from Forms in JSON Format:
This approach exports all the form fields from an existing PDF document into a JSON file and imports them into a new PDF document.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ExportAllFieldsToJson(string inputPdfPath, string outputJsonPath, string outputPdfPath)
{
// Create ExportFieldsToJsonOptions with indentation
var options = new Aspose.Pdf.ExportFieldsToJsonOptions { WriteIndented = true };
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "TextField.pdf"))
{
// Export fields to JSON
var exportResult = document.Form.ExportToJson(outputJsonPath, options);
// Optionally, save the document with fields to a new PDF
document.Save(dataDir + "TextBox_out.pdf");
}
}
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ImportFieldsFromJsonAndInsertToPdf(string inputPdfPath, string outputJsonPath, string outputPdfPath)
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "TextField.pdf"))
{
// Create PDF document to import fields into
var newDocument = new Aspose.Pdf.Document();
// Add page
var page = newDocument.Pages.Add();
// Import fields from JSON
var importResult = newDocument.Form.ImportFromJson(outputJsonPath);
// Save PDF document
newDocument.Save(dataDir + "TextBox_out.pdf");
}
}
This snippet export fields to Json file utilizes ‘FileStream’ to manage the file input and output.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ExportFieldsToJson(string inputPdfPath, string outputJsonPath, string outputPdfPath)
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Create ExportFieldsToJsonOptions with indentation
var options = new Aspose.Pdf.ExportFieldsToJsonOptions { WriteIndented = true };
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "TextField.pdf"))
{
// Create a FileStream to write the JSON output
using (var fileStream = File.Create(outputJsonPath))
{
// Export fields to JSON using the FileStream
var exportResult = document.Form.ExportToJson(fileStream, options);
}
}
}
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ImportFieldsFromJsonToCreatedPdt(string inputPdfPath, string outputJsonPath, string outputPdfPath)
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "TextField.pdf"))
{
// Create PDF document to import fields into
var newDocument = new Aspose.Pdf.Document();
// Add page
var page = newDocument.Pages.Add();
// Open the JSON file for reading
using (var fileStream = File.OpenRead(outputJsonPath))
{
// Import fields from JSON using the FileStream
var importResult = newDocument.Form.ImportFromJson(fileStream);
}
// Save PDF document
newDocument.Save(dataDir + "TextBox_out.pdf");
}
}
In some scenarios, you might prefer to work with data in memory rather than with files on disk. This approach uses ‘MemoryStream’ to handle the export and import processes entirely in memory.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ExportFieldsToJsonUsingMemoryStream(string inputPdfPath, string outputPdfPath)
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Create a MemoryStream to hold the JSON data
using (var memoryStream = new MemoryStream())
{
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "TextField.pdf"))
{
// Export fields to JSON and write to the MemoryStream
var exportResult = document.Form.ExportToJson(memoryStream);
}
// Save the MemoryStream content to a file
File.WriteAllBytes(outputPdfPath, memoryStream.ToArray());
}
}
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ImportFieldsFromJsonUsingMemoryStream(string inputPdfPath, string outputPdfPath)
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "TextField.pdf"))
{
// Create PDF document to import fields into
var newDocument = new Aspose.Pdf.Document();
// Add page
var page = newDocument.Pages.Add();
// Create a MemoryStream to hold the JSON data
using (var memoryStream = new MemoryStream())
{
// Export fields from the original document to the MemoryStream
document.Form.ExportToJson(memoryStream);
// Reset the MemoryStream position to the beginning
memoryStream.Position = 0;
// Import fields from the MemoryStream into the new document
var importResult = newDocument.Form.ImportFromJson(memoryStream);
}
// Save PDF document
newDocument.Save(dataDir + "TextBox_out.pdf");
}
}
Sometimes, you may need to export or import only a specific field rather than all the fields in the document.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ExportFieldToJson(string inputPdfPath, string outputJsonPath, string outputPdfPath)
{
// Create ExportFieldsToJsonOptions with indentation
var options = new Aspose.Pdf.ExportFieldsToJsonOptions { WriteIndented = true };
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "TextField.pdf"))
{
// Get the specific field (WidgetAnnotation) from the form
if (document.Form[1] is Aspose.Pdf.Annotations.WidgetAnnotation field)
{
// Export the field to JSON
var exportResult = field.ExportToJson(outputJsonPath, options);
}
}
}
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ImportFieldFromJson(string inputPdfPath, string outputJsonPath, string outputPdfPath)
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "TextField.pdf"))
{
// Create PDF document to import fields into
var newDocument = new Aspose.Pdf.Document();
// Add page
var page = newDocument.Pages.Add();
// Import fields from JSON
var importResult = newDocument.Form.ImportFromJson(outputJsonPath);
// Save PDF document
newDocument.Save(dataDir + "TextBox_out.pdf");
}
}
This example is similar to the one above but uses ‘FileStream’ to handle the export and import operations for a specific field.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ExportFieldToJson(string inputPdfPath, string outputJsonPath, string outputPdfPath)
{
// Create ExportFieldsToJsonOptions with indentation
var options = new Aspose.Pdf.ExportFieldsToJsonOptions { WriteIndented = true };
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "TextField.pdf"))
{
// Get the specific field (WidgetAnnotation) from the form
if (document.Form[1] is Aspose.Pdf.Annotations.WidgetAnnotation field)
{
// Create a FileStream to write the JSON output
using (var fileStream = File.Create(outputJsonPath))
{
// Export the field to JSON using the FileStream
var exportResult = field.ExportToJson(fileStream, options);
}
}
}
}
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ImportFieldFromJson(string inputPdfPath, string outputJsonPath, string outputPdfPath)
{
// Create PDF document to import fields into
using (var newDocument = new Aspose.Pdf.Document())
{
// Add page
var page = newDocument.Pages.Add();
// Open the JSON file for reading
using (var fileStream = File.OpenRead(outputJsonPath))
{
// Import fields from JSON using the FileStream
var importResult = newDocument.Form.ImportFromJson(fileStream);
}
// Save PDF document
newDocument.Save(dataDir + "TextBox_out.pdf");
}
}
This code snippet demonstrates how to export a specific form field from a PDF document into JSON format using a ‘MemoryStream’ and then import it into a new PDF document.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ExportFieldToJsonUsingMemoryStream(string inputPdfPath, string outputPdfPath)
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Create a MemoryStream to hold the JSON data
using (var memoryStream = new MemoryStream())
{
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "TextField.pdf"))
{
// Get the specific field (WidgetAnnotation) from the form
if (document.Form[1] is Aspose.Pdf.Annotations.WidgetAnnotation field)
{
// Export the field to JSON and write to the MemoryStream
var exportResult = field.ExportToJson(memoryStream);
}
}
// Optionally, you can save the MemoryStream content to a file
File.WriteAllBytes(outputPdfPath, memoryStream.ToArray());
}
}
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ImportFieldFromJsonUsingMemoryStream(string inputPdfPath, string outputPdfPath)
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "TextField.pdf"))
{
// Create PDF document to import fields into
var newDocument = new Aspose.Pdf.Document();
// Add page
var page = newDocument.Pages.Add();
// Create a MemoryStream to hold the JSON data
using (var memoryStream = new MemoryStream())
{
// Export fields from the original document to the MemoryStream
document.Form.ExportToJson(memoryStream);
// Reset the MemoryStream position to the beginning
memoryStream.Position = 0;
// Import fields from the MemoryStream into the new document
var importResult = newDocument.Form.ImportFromJson(memoryStream);
}
// Save PDF document
newDocument.Save(dataDir + "TextBox_out.pdf");
}
}
This code snippet shows how to export the value of a specific form field from a PDF document into a JSON file using FileStream.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ExportFieldValueToJson(string inputPdfPath, string outputJsonPath, string outputPdfPath)
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "TextField.pdf"))
{
// Get the specific field from the form
if (document.Form.Fields[1] is Aspose.Pdf.Forms.Field field)
{
// Create a FileStream to write the JSON output
using (var fileStream = File.Create(outputJsonPath))
{
// Export the field value to JSON using the FileStream
field.ExportValueToJson(fileStream);
}
}
}
}
This code snippet demonstrates how to import a value from a JSON file into a specific form field in a PDF document using FileStream.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ImportFieldValueFromJson(string inputPdfPath, string outputJsonPath, string outputPdfPath)
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "TextField.pdf"))
{
// Get the specific field from the form
if (document.Form.Fields[1] is Aspose.Pdf.Forms.Field field)
{
// Open the JSON file for reading
using (var fileStream = File.OpenRead(outputJsonPath))
{
// Import the field value from JSON using the FileStream
field.ImportValueFromJson(fileStream);
}
}
// Save PDF document
document.Save(dataDir + "TextBox_out.pdf");
}
}
This code snippet demonstrates how to import a value of another field to the specified field from the JSON file using FileStream and Aspose.PDF.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ImportFieldValueFromJson(string inputPdfPath, string outputJsonPath, string outputPdfPath, string fullNameOfOtherFieldInJson)
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "TextField.pdf"))
{
// Get the specific field from the form
if (document.Form.Fields[1] is Aspose.Pdf.Forms.Field field)
{
// Open the JSON file for reading
using (var fileStream = File.OpenRead(outputJsonPath))
{
// Import the field value from JSON using the FileStream and the full name of the other field in JSON
field.ImportValueFromJson(fileStream, fullNameOfOtherFieldInJson);
}
}
// Save PDF document
document.Save(dataDir + "TextBox_out.pdf");
}
}
This example demonstrates how to export form fields from a PDF to a JSON file using Aspose.PDF, including handling different statuses for each field during the export process.
Let’s break down this Aspose.PDF example step by step:
Loading the Document. We load a PDF document named “Sample.pdf” from a specified directory.
Setting Export Options. Here, we create an instance of ExportFieldsToJsonOptions with two settings:
ExportPasswordValue
: This includes password fields in the export.WriteIndented
: This formats the JSON output to be indented for readabilityExport form fields to JSON. We export the form fields from the PDF file to a JSON file called “export.json” using the specified parameters.
Processing Export Results: This loop iterates through the export results and prints the status of each field:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ExportFieldsToJsonWithOptions()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (var document = new Aspose.Pdf.Document(Path.Combine(dataDir, "Forms", "Sample.pdf")))
{
// Create ExportFieldsToJsonOptions with specific settings
var options = new Aspose.Pdf.ExportFieldsToJsonOptions
{
ExportPasswordValue = true,
WriteIndented = true,
};
var exportResults = document.Form.ExportToJson(File.OpenWrite("export.json"), options);
foreach (var result in exportResults)
{
Console.Write($"{result.FieldFullName} ");
switch (result.FieldSerializationStatus)
{
case Aspose.Pdf.FieldSerializationStatus.Success:
Console.WriteLine("Success");
break;
case Aspose.Pdf.FieldSerializationStatus.Warning:
foreach (var messages in result.WarningMessages)
{
Console.WriteLine(messages);
}
break;
case Aspose.Pdf.FieldSerializationStatus.Error:
foreach (var messages in result.ErrorMessages)
{
Console.WriteLine(messages);
}
break;
}
}
}
}
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.