Hi Maruan,
I have tried importing the form using LayerUtility.importPageAsForm(), into the
destination PDF, as follows (sorry, Scala code, but comprehensible).
However, the page is blank.
Is importPageAsForm the right method to import a form?
Cheers,
Philippe
--------------------------------------------------
import org.apache.pdfbox.pdmodel._
import org.apache.pdfbox.util._
import org.apache.pdfbox.pdmodel.common.PDRectangle
object App {
def main(args: Array[String]) = {
val pathToPdfTemplateFile =
"D:\\dev\\ProjectData\\fillbundlelabelformData\\pdf\\template\\LO_Labels210315_formulaire.pdf"
val pathToClonedFile =
"D:\\dev\\ProjectData\\fillbundlelabelformData\\pdf\\generated\\clone.pdf"
val templatePDDocument = PDDocument.load(pathToPdfTemplateFile)
val clonedDocument = new PDDocument
val pDPage = new PDPage(new PDRectangle(612, 792))
clonedDocument.addPage(pDPage)
val aLayerUtility = new LayerUtility(clonedDocument)
val aPDXObjectForm = aLayerUtility.importPageAsForm(templatePDDocument,
0)
clonedDocument.save(pathToClonedFile)
clonedDocument.close
templatePDDocument.close
}
}
----------------------------------------------------------
----- Mail original -----
De: "Maruan Sahyoun" <[email protected]>
À: [email protected]
Envoyé: Mardi 21 Avril 2015 15:39:37
Objet: Re: Filling out PDPage forms
OK,
> Am 21.04.2015 um 15:04 schrieb [email protected]:
>
> Hi,
>
> unfortunately, once I have imported several copies of the source PDF form
> page into the destination PDF, PDDocument.getDocumentCatalog().getAcroForm()
> returns null.
>
so you have only imported the pages but not the AcroForm. If you import the
AcroForm this will only have the fields pointing to the source page. You need
to create new fields from the ones you have with unique names as I assume the
fields on subsequent pages shall have their own content. There is a sample
available at
http://stackoverflow.com/questions/29371129/java-pdfbox-fill-out-pdf-form-append-it-to-pddocument-and-repeat/29417945#29417945
<http://stackoverflow.com/questions/29371129/java-pdfbox-fill-out-pdf-form-append-it-to-pddocument-and-repeat/29417945#29417945>
BR
Maruan
>
>
> ----- Mail original -----
> De: "Maruan Sahyoun" <[email protected]>
> À: [email protected]
> Envoyé: Mardi 21 Avril 2015 14:53:48
> Objet: Re: Filling out PDPage forms
>
> Hi,
>
>> Am 21.04.2015 um 12:35 schrieb [email protected]:
>>
>>
>> The source PDF contains a form which I need to make multiple copies of, in
>> the destination PDF.
>>
>> I have adapted code found on Stack Overflow to retrieve the source PDF's
>> first page:
>>
>> PDPage firstPage = (PDPage)
>> templatePDDocument.getDocumentCatalog().getAllPages().get(0);
>> ...
>>
>> and then to import it into the destination PDF:
>>
>> PDPage clonedPDPage = clonedDocument.importPage(firstPage);
>> ...
>>
>> The destination PDF now contains several copies of the form.
>>
>> I now need to fill out the forms with data from a CSV file.
>>
>> How do I retrieve each page's form field, given that there's no
>> PDPage.getAcroForm() function?
>
> AcroForms are not page related as a field can appear on multiple pages. You
> need to use doc.getDocumentCatalog().getAcroForm() to retrieve the form.
>
>
> BR
> Maruan
>
>>
>> Cheers,
>>
>> Philippe
>>
>>
>> ----- Mail original -----
>> De: [email protected]
>> À: [email protected]
>> Envoyé: Mardi 21 Avril 2015 11:32:27
>> Objet: Copying PDPages
>>
>> Hello,
>>
>> I would like to copy several times the first page of a PDF document to
>> another.
>>
>> What is the best way to do this?
>>
>> Many thanks.
>>
>> Philippe
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]