Quantcast
Channel: Aspose.Pdf Product Family
Viewing all articles
Browse latest Browse all 3131

Cannot open Merged PDF

$
0
0
Hi,

We have a .net service which downloads multiple PDFs (based on user input) from a sharepoint website and merges them into a single PDF.
We have an issue where the user chooses to view a single PDF. The user is unable to view the generated PDF using Adobe reader 8. (Adobe Reader 9 works fine). However the users desktop is committed to using Adobe Reader 8 for the near term. The user has no issues opening the original PDF file from the sharepoint site.

I have uploaded both the PDF files.

Aspose also seems to shrink the file sizes.

Code to merge the files

---

 public void GenerateMemoryStream(DocFormsInput AODocFormsInput, out MemoryStream outputMemoryStream, out DocFormsOutput AODocFormsOutput)
        {
            string strError = string.Empty;
            outputMemoryStream = new MemoryStream();
            AODocFormsOutput = new DocFormsOutput();
            AODocFormsOutput.StatusInfo = new List<StatusInfo>();

            MemoryStream docCoverPageStream = null;
            MemoryStream mstrFileOne = null;
            MemoryStream mstrFileTwo = null;
            DateTime dtStartTime = DateTime.Now;

            try
            {

                Document pdfDocument1 = null;
                //If strInputXML is null or empty, do not generate Doc Cover Page
                if (!string.IsNullOrEmpty(AODocFormsInput.strInputXml))
                {
                    //Generate Doc Cover Page

                    GenerateDocumentCoverPage(AODocFormsInput.strDocType, AODocFormsInput.strInputXml, out docCoverPageStream, out strError);
                    pdfDocument1 = new Document(docCoverPageStream);
                    AODocFormsOutput.TimeRequired_DocCoverPageGeneration = ((TimeSpan)DateTime.Now.Subtract(dtStartTime)).ToString();
                }

                //Need to check sourcefiles array atleast contains 1 pdf               
                if (AODocFormsInput.strSourceFiles != null && AODocFormsInput.strSourceFiles.Length > 0)
                {
                    if (string.IsNullOrEmpty(strError))
                    {
                        for (int pdfCnt = 0; pdfCnt < AODocFormsInput.strSourceFiles.Length; pdfCnt++)
                        {
                            if (pdfDocument1 == null)
                            {
                                try
                                {
                                    //pdf document 1 will be the first string in strSourceFiles[]
                                    //byte[] strFileOne = client.DownloadData(AODocFormsInput.strSourceFiles[pdfCnt]);
                                    byte[] strFileOne = GetDocument(AODocFormsInput.strSourceFiles[pdfCnt], AODocFormsInput.strUserName, AODocFormsInput.strPassword, AODocFormsInput.strDomain);
                                    mstrFileOne = new MemoryStream(strFileOne);
                                    pdfDocument1 = new Document(mstrFileOne);
                                }
                                catch (Exception)
                                {
                                    StatusInfo status = new StatusInfo();
                                    status.Severity = "W";
                                    status.BusinessDescription = " Unable To DownLoad file " + AODocFormsInput.strSourceFiles[pdfCnt];
                                    status.Code = "PDF_MERGER_1007";

                                    AODocFormsOutput.StatusInfo.Add(status);
                                }
                            }
                            else
                            {
                                if (!string.IsNullOrEmpty(AODocFormsInput.strSourceFiles[pdfCnt]))
                                {
                                    try
                                    {
                                        //byte[] strFileTwo = client.DownloadData(AODocFormsInput.strSourceFiles[pdfCnt]);
                                        byte[] strFileTwo = GetDocument(AODocFormsInput.strSourceFiles[pdfCnt], AODocFormsInput.strUserName, AODocFormsInput.strPassword, AODocFormsInput.strDomain);
                                        mstrFileTwo = new MemoryStream(strFileTwo);
                                        Document pdfDocument2 = new Document(mstrFileTwo);
                                        pdfDocument1.Pages.Add(pdfDocument2.Pages);
                                    }
                                    catch (Exception)
                                    {
                                        StatusInfo status = new StatusInfo();
                                        status.Severity = "W";
                                        status.BusinessDescription = " Unable To DownLoad file " + AODocFormsInput.strSourceFiles[pdfCnt];
                                        status.Code = "PDF_MERGER_1007";

                                        AODocFormsOutput.StatusInfo.Add(status);
                                    }
                                }
                            }

                        }
                    }
                    else
                    {
                        StatusInfo status = new StatusInfo();
                        status.Severity = "E";
                        status.BusinessDescription = strError;
                        status.Code = "PDF_MERGER_1008";

                        AODocFormsOutput.StatusInfo.Add(status);
                    }
                }

                AODocFormsOutput.TimeRequired_DownloadAndMergePDFs = ((TimeSpan)DateTime.Now.Subtract(dtStartTime)).ToString();
                pdfDocument1.HideToolBar = false;
                pdfDocument1.Save(outputMemoryStream);
                pdfDocument1.Dispose();
               


            }
            catch (Exception ex)
            {
                StatusInfo status = new StatusInfo();
                status.Severity = "E";
                status.BusinessDescription = ex.Message;
                status.Code = "PDF_MERGER_1009";

                AODocFormsOutput.StatusInfo.Add(status);
            }
            finally
            {
               
                if (docCoverPageStream != null)
                {
                    docCoverPageStream.Close();
                    docCoverPageStream.Dispose();
                }
                if (mstrFileOne != null)
                {
                    mstrFileOne.Close();
                    mstrFileOne.Dispose();
                }
                if (mstrFileTwo != null)
                {
                    mstrFileTwo.Close();
                    mstrFileTwo.Dispose();
                }
               
            }

        }

------------


Viewing all articles
Browse latest Browse all 3131