I created a C# desktop application as a test, to see if I could append PDF information onto existing PDF files:
MergeDocument mergeDocument = new MergeDocument();
Page page = new Page(PageSize.Letter, PageOrientation.Portrait);
page.Elements.Add(new Foxit.PDF.PageElements.Label("New TEST Cover Page", 0, 0, 512, 12));
page.Elements.Add(new Foxit.PDF.PageElements.Label("2nd line", 0, 24, 512, 12));
mergeDocument.Pages.Add(page);
mergeDocument.Append(@"C:\sample.pdf");
mergeDocument.Draw(@"C:\documents\outputResult.pdf ");
This successfully appends data onto the beginning of a desktop PDF file. However, I am now required to duplicate this for a website.
I am prevented from using the above code on the website - I receive an exception (due to potential security/access issues). What I would like to do instead is to use byte[] arrays, so the above would resemble something like:
MergeDocument mergeDocument = new MergeDocument();
Page page = new Page(PageSize.Letter, PageOrientation.Portrait);
page.Elements.Add(new Foxit.PDF.PageElements.Label("New TEST Cover Page", 0, 0, 512, 12));
page.Elements.Add(new Foxit.PDF.PageElements.Label("2nd line", 0, 24, 512, 12));
mergeDocument.Pages.Add(page);
mergeDocument.Append(byteArrayOfFileToBeAppended); //Byte array of a file that already exists
mergeDocument.Draw(byteArrayOfFileToBeOutput); //Result of combination, kept in byte array form
The byteArrayOfFileToBeOutput represents the byte array data for the file, and needs to be kept in this format until the site is able to create a file using the information.
Thank you for your time. Please let me know if you require additional details.
P.S. I understand Foxit's Generator SDK can output documents to a stream instead of a file; I'm following this hoping that we can stream or create an array for MergeDocument output.
MergeDocument mergeDocument = new MergeDocument();
Page page = new Page(PageSize.Letter, PageOrientation.Portrait);
page.Elements.Add(new Foxit.PDF.PageElements.Label("New TEST Cover Page", 0, 0, 512, 12));
page.Elements.Add(new Foxit.PDF.PageElements.Label("2nd line", 0, 24, 512, 12));
mergeDocument.Pages.Add(page);
mergeDocument.Append(@"C:\sample.pdf");
mergeDocument.Draw(@"C:\documents\outputResult.pdf ");
This successfully appends data onto the beginning of a desktop PDF file. However, I am now required to duplicate this for a website.
I am prevented from using the above code on the website - I receive an exception (due to potential security/access issues). What I would like to do instead is to use byte[] arrays, so the above would resemble something like:
MergeDocument mergeDocument = new MergeDocument();
Page page = new Page(PageSize.Letter, PageOrientation.Portrait);
page.Elements.Add(new Foxit.PDF.PageElements.Label("New TEST Cover Page", 0, 0, 512, 12));
page.Elements.Add(new Foxit.PDF.PageElements.Label("2nd line", 0, 24, 512, 12));
mergeDocument.Pages.Add(page);
mergeDocument.Append(byteArrayOfFileToBeAppended); //Byte array of a file that already exists
mergeDocument.Draw(byteArrayOfFileToBeOutput); //Result of combination, kept in byte array form
The byteArrayOfFileToBeOutput represents the byte array data for the file, and needs to be kept in this format until the site is able to create a file using the information.
Thank you for your time. Please let me know if you require additional details.
P.S. I understand Foxit's Generator SDK can output documents to a stream instead of a file; I'm following this hoping that we can stream or create an array for MergeDocument output.
Comment