Hi Sanyam, could you provide a sample PDF at a public location? Which version of PDFBox are you using?
BR Maruan Am 29.10.2014 um 13:12 schrieb Sanyam Goel <[email protected]>: > Sorry for truncated email > > Here is the actual email > > Hi, > > I have an issue in PrintImageLocations example provided In the examples > folder of the api. This program throws error while at line > page.getMediaBox().getHeight() for certain pdfs and also for some images the > locations printed are incorrect any clue why is it so > > > Please let me know in case a sample of such PDF's is required > Thanks, > Sanyam > > > -----Original Message----- > From: Sanyam Goel > Sent: Wednesday, October 29, 2014 5:36 PM > To: [email protected] > Subject: PrintImageLocations example program issue > > Hi, > > I the same program throws error while at line page.getMediaBox().getHeight() > for certain pdfs and also for some images the locations printed are incorrect > any clue why is it so > > Thanks, > Sanyam > > -----Original Message----- > From: Maruan Sahyoun [mailto:[email protected]] > Sent: Wednesday, October 29, 2014 1:00 AM > To: [email protected] > Subject: Re: Force download of FDF file in Internet Explorer > > unfortunately there are currently several FDF related issues in PDFBox - > maybe you hit one of these. Do you have to load an FDF or could you just do > > PDField field = acroForm.getField("FieldName"); field.setValue("SampleValue"); > > BR > > Maruan > > > Am 28.10.2014 um 18:56 schrieb Rajeev Menon <[email protected]>: > >> I have no clue how to import FDF document into PDF using PDFBox. Here >> is what I tried, it just opens the pdf form with no data filled in. >> >> String targetDirectory=System.getProperty("java.io.tmpdir"); >> File fout = new File(targetDirectory+"/newfile.fdf"); >> FileOutputStream fos = new FileOutputStream(fout); >> >> BufferedWriter bw = new BufferedWriter(new >> OutputStreamWriter(fos)); >> >> bw.write("%FDF-1.2"); >> bw.write("1 0 obj <<"); >> bw.write("/FDF <<"); >> bw.write("/F(https://servername/abc.pdf)"); >> >> bw.write("/Fields["); >> bw.write("<</T(FieldName)/V (Sample Value)>>"); >> bw.write("]"); >> bw.write(">>/Type/Catalog"); >> bw.write(">>"); >> bw.write("endobj"); >> bw.write("trailer"); >> bw.write("<</Root 1 0 R>>"); >> bw.write("%%EOF"); >> bw.close(); >> >> FDFDocument fdfdoc=new FDFDocument(); >> fdfdoc.load(new File(targetDirectory+"/newfile.fdf")); >> >> System.out.println("a:"+fdfdoc.getDocument().getCOSObject().toString() >> ); >> >> pdfDoc = PDDocument.load("https://servername/abcTemp.pdf"); >> PDDocumentCatalog docCatalog = pdfDoc.getDocumentCatalog(); >> PDAcroForm acroForm = docCatalog.getAcroForm(); >> //acroForm.setXFA(null); >> acroForm.importFDF(fdfdoc); >> >> >> FacesContext facesContext = FacesContext.getCurrentInstance(); >> HttpServletResponse response = JSFUtil.getServletRespone(); >> response.setContentType("application/pdf"); >> response.addHeader("Content-Type", >> "application/force-download"); >> response.addHeader("Content-Disposition", "attachment; >> filename=\"abc.pdf\""); >> ServletOutputStream outStream = response.getOutputStream(); >> pdfDoc.save(outStream); >> >> facesContext.responseComplete(); >> >> >> >> On Tue, Oct 28, 2014 at 12:37 PM, Rajeev Menon >> <[email protected]> >> wrote: >> >>> *How do I create the FDFDocument to import into the acroForm?* >>> >>> PDAcroForm acroForm = docCatalog.getAcroForm(); >>> acroForm.setXFA(null); >>> acroForm.importFDF(FDFDocument arg0); >>> >>> *The following is how I send the FDF content to browser currently.* >>> >>> >>> output.println("%FDF-1.2"); >>> output.println("1 0 obj <<"); >>> output.println("/FDF <<"); >>> output.println("/F(https://servername/sample.pdf)"); >>> >>> output.println("/Fields["); >>> output.println("<</T( >>> FieldName1)/V (Hello World)>>"); >>> output.println("]"); >>> output.println(">>/Type/Catalog"); >>> output.println(">>"); >>> output.println("endobj"); >>> output.println("trailer"); >>> output.println("<</Root 1 0 R>>"); >>> output.println("%%EOF"); >>> >>> output.flush(); >>> output.close(); >>> >>> >>> On Tue, Oct 28, 2014 at 11:36 AM, Maruan Sahyoun >>> <[email protected]> >>> wrote: >>> >>>> Hi Rajeev >>>> >>>> you should set the mime type to application/vnd.fdf. >>>> >>>> If you set the the NeedAppearances flag in AcroForm using PDFBox >>>> then Reader will generate the appearances for you when the document is >>>> opened. >>>> Might be an alternative to using FDF. >>>> >>>> BR >>>> >>>> Maruan >>>> >>>> Am 28.10.2014 um 15:33 schrieb Rajeev Menon <[email protected]>: >>>> >>>>> Hi, >>>>> >>>>> I am populating a PDF file by creating a FDF file and sending it to >>>>> the browser. The FDF file has the url of the PDF that it should >>>>> open to fill the data. The file opens fine inside the browser >>>>> (inline), but when I >>>> want >>>>> to force it to open with acrobat reader, it just shows a white page >>>>> in >>>> the >>>>> reader. Here is the relevant code. >>>>> >>>>> response.setContentType("application/pdf"); >>>>> response.setHeader("Content-disposition","attachment; >>>>> filename=\"somefile.fdf\""); >>>>> >>>>> output.println("%FDF-1.2"); >>>>> output.println("1 0 obj <<"); >>>>> output.println("/FDF <<"); >>>>> output.println("/F(https://servername/sample.pdf)"); >>>>> >>>>> output.println("/Fields["); >>>>> output.println("<</T(FieldName1)/V (Hello World)>>"); >>>>> output.println("]"); >>>>> output.println(">>/Type/Catalog"); >>>>> output.println(">>"); >>>>> output.println("endobj"); >>>>> output.println("trailer"); >>>>> output.println("<</Root 1 0 R>>"); >>>>> output.println("%%EOF"); >>>>> >>>>> output.flush(); >>>>> output.close(); >>>>> >>>>> Please let me know if I am missing something here. I implemented >>>>> the PDF form filling using both the PDFBox and the FDF approaches, >>>>> but I am experiencing some issues with the PDFBox. >>>>> >>>>> Thanks, >>>>> Rajeev. >>>> >>>> >>> > > > This message and the information contained herein is proprietary and > confidential and subject to the Amdocs policy statement, > you may review at http://www.amdocs.com/email_disclaimer.asp

