Merge PDF documents into single file contains both XFA and Acroforms using Aspose.PDF - [Resolved]

We have made payment for license and support, can we now get an ETA when this issue can be addressed. We need it asap.

@manoj.ipipeline

Please request at Paid Support Helpdesk to escalte the priority of PDFNET-46859 so that we may proceed accordingly. If you face any problem while requesting for priority escalation at the Helpdesk, then you may report the problem over Purchase forum.

Hi Farhan,
My name is Cody and I work with Manoj at iPipeline

When I go to the Paid Support Helpdesk, it says that my account isn’t authorized to create a Paid Support Ticket.
For some reason, my account is only associated with order ID 140808135346 which is the old order from 2014.

Can you tell me how I can get my account associated with the most recent order ID so that I can open a Paid Support ticket?

@codymaust1

Kindly contact at Purchase Forum while mentioning your recent order ID, as guided above.

@codymaust1

Please use the following code:

        public void Merge(string[] files, string output)
        {
            Stream[] inputStreams = new Stream[files.Length];
            for (int i = 0; i < files.Length; i++)
            {
                Document doc = new Document(files[i]);
                if (doc.Form.Type != FormType.Standard)
                {
                    doc.Form.Type = FormType.Standard;
                    MemoryStream ms = new MemoryStream();
                    doc.Save(ms);
                    inputStreams[i] = ms;
                }
                else
                {
                    doc = null;
                    inputStreams[i] = new FileStream(files[i], FileMode.Open, FileAccess.ReadWrite);
                }
            }
            PdfFileEditor pfe = new PdfFileEditor();
            pfe.UniqueSuffix = "_%NUM%";
            FileStream outputStream = new FileStream(output, FileMode.Create, FileAccess.ReadWrite);
            pfe.AllowConcatenateExceptions = true;
            pfe.Concatenate(inputStreams, outputStream);
            outputStream.Flush();
            outputStream.Close();
            foreach (Stream stream in inputStreams)
            {
                stream.Close();
            }
        }

This code at first step converts forms to standard type (if required). Resultant documents after conversion to standard form is stored into memory stream, if this take a lot of memory, temporary files may be used.

At first step, resultant documents are concatenated using PdfFileEditor facade. We tested it with bot AcroForms and XFA dynamice form.

Also we tested it for your example document (issues.zip). Please note that for some fields in your documents, names of fields are equal (for example “text1.0”), for this cases PdfFileEditor adds suffix to root field name, i.e. if both documents have fields text1.0, text1.1, text1.2 etc, in concatenated document fields of second document will have form text1_1.0, text1_1.1 etc).

This behavior may be controlled with UniqueSuffix property.