Hi,
Thanks! It works now with some simple forms (like the one I attached to this thread earlier), but fails with some more complex forms. Gives me the following error message:
Object reference not set to an instance of an object. : at xeb116a323308e2f7.xc19484cc31391ae1.setField(String name, String value_Renamed) at Aspose.Pdf.Kit.Form.xfe4e5a47d18d49df(XmlNode x57e9faf3ffdc07cc) at Aspose.Pdf.Kit.Form.xfe4e5a47d18d49df(XmlNode x57e9faf3ffdc07cc) at Aspose.Pdf.Kit.Form.xfe4e5a47d18d49df(XmlNode x57e9faf3ffdc07cc) at Aspose.Pdf.Kit.Form.ImportXml(Stream inputXmlStream) at GrantEd.DomainModel.Form.Renderers.PdfFormRenderer.AsposePrepopulateForm(Byte[] pdf, String formData) in C:\UserData\SEMISPT\DEV\Projects\Source\Development\Domain\Form\GrantEd.DomainModel.Form.Renderers\PdfFormRenderer.cs:line 66 at GrantEd.DomainModel.Form.Renderers.PdfFormRenderer.GetFormStream(String template, String formData, enumFormOperationModeCode operationMode) in ...
Here's the code that I use:
// Create Form object
MemoryStream pdfStreamIn = new MemoryStream(pdf);
MemoryStream pdfStreamOut = new MemoryStream();
PdfKit.Form pdfForm = new PdfKit.Form(pdfStreamIn, pdfStreamOut);
// Import form data xml
byte[] f = Encoding.UTF8.GetBytes(formData);
MemoryStream xmlInputStream = new MemoryStream(f);
pdfForm.ImportXml(xmlInputStream);
pdfForm.Save();
pdfStreamOut.Seek(0, SeekOrigin.Begin);
using (BinaryReader reader = new BinaryReader(pdfStreamOut))
{
return reader.ReadBytes((int)pdfStreamOut.Length);
}
I've attached the xml and the pdf template.
Cheers,
~pxc