You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Maruan Sahyoun (Jira)" <ji...@apache.org> on 2019/12/23 22:14:00 UTC

[jira] [Updated] (PDFBOX-3812) Support auto size font for multiline PDTextField

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

Maruan Sahyoun updated PDFBOX-3812:
-----------------------------------
    Attachment: Autosizing.pdf

> 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
>         Attachments: Autosizing.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-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: dev-help@pdfbox.apache.org