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

Reply via email to