[ 
https://issues.apache.org/jira/browse/PDFBOX-3812?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Maruan Sahyoun updated PDFBOX-3812:
-----------------------------------
    Fix Version/s: 3.0.0 PDFBox
                   2.0.21

> Support auto size font for multiline PDTextField 
> -------------------------------------------------
>
>                 Key: PDFBOX-3812
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-3812
>             Project: PDFBox
>          Issue Type: Improvement
>          Components: AcroForm
>    Affects Versions: 2.0.6
>         Environment: Windows 7 and Mac OSX, Java 1.8.0_121
>            Reporter: Marek Zajac
>            Priority: Major
>             Fix For: 2.0.21, 3.0.0 PDFBox
>
>         Attachments: Autosizing.pdf, 
> PDFBOX-3812-break-too-long-words-and-use-default-font-size-as-max-in-multiline-fields.patch,
>  PDFBOX3812-acrobat-multiline-auto.pdf, TestPDF.pdf, TestPDF_gen.pdf, 
> TestPDF_gen_flatten.pdf, Test_TextField_Multiline_Autosize.pdf
>
>
> Hello, I ve got a simple pdf file "TestPDF.pdf" with just one text field 
> named "Text1". It is set up as auto size and multiline field. 
> My code :
>       {code:title=GeneratePDF.java|borderStyle=solid}
>       File fileTemplate = new File("/Users/xxx/Downloads/TestPDF.pdf");
>               PDDocument doc = null;
>               try {
>                       doc = PDDocument.load(fileTemplate);
>               } catch (IOException e) {
>                       e.printStackTrace();
>               }
>               PDDocumentCatalog catalog = doc.getDocumentCatalog();
>               PDAcroForm form = catalog.getAcroForm();
>               PDTextField field = (PDTextField)form.getField("Text1");
> //            field.setDefaultAppearance("/Helv 0 Tf 1 0 0 rg")
>               String longText = "THIS IS A VERY VERY LONG TEXT IN A 
> MULTINLINE TEXT FIELD " 
>                               + "THIS CAN BE REALY LONG TEXT FIELD CONTAINING 
> A FULL ADDRESS OF THE CUSTOMER"
>                               + "WE WANT TO HAVE AN AUTO SIZED FIELD WITH 
> DYNAMICALY CHANGED FONT SIZE. TO TEST IT OUT WE" + "NEED AT THE END 123";
>               try {
>                       field.setValue(longText);
> //                    form.flatten();
>                       doc.save("/Users/xxx/TestPDF_generated.pdf");
>                       doc.close();
>               } catch (IOException e) {
>                       e.printStackTrace();
>               }
>       {code}
>       
> Please open the attached "TestPDF_gen.pdf" file in the Adobe Acrobat. It 
> shows the text cut off at the end. However if you click inside the field it 
> sudenly renders text properly. 
> Other remarks :
> 1. If you open the "TestPDF_gen.pdf" file in the Preview (Mac OSX default pdf 
> viewer) then the Text1 shows text properly auto sized. 
> 2. If you do flat the form by uncommenting form.flatten(). Then the Text1 is 
> cut off at the end of the text and font size is not auto. I ve tried both 
> Adobe Acrobat and Preview. See the "TestPDF_gen_flatten.pdf" 
> 3. I ve also tried calling setDefaultAppearance method before setting the 
> field's value - field.setDefaultAppearance("/Helv 0 Tf 1 0 0 rg") but it did 
> not help.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org
For additional commands, e-mail: dev-h...@pdfbox.apache.org

Reply via email to