[ 
https://issues.apache.org/jira/browse/PDFBOX-3924?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16156764#comment-16156764
 ] 

Maruan Sahyoun commented on PDFBOX-3924:
----------------------------------------

what is the error you are getting? If it's because of 

{code}
U+xxxx is not available in this font's encoding: WinAnsiEncoding
{code}

that doesn't have anything to do with flatten but with trying to set a fields 
value where the characters you are using are not part of the encoding set for 
the font. Could you be a little more specific what the issue is you are facing? 

> How to flatten  pdf which contains acroform fields
> --------------------------------------------------
>
>                 Key: PDFBOX-3924
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-3924
>             Project: PDFBox
>          Issue Type: Improvement
>          Components: AcroForm
>    Affects Versions: 2.0.7
>         Environment: Windows 10
>            Reporter: Subrata Kumar Pradhan
>            Priority: Critical
>             Fix For: 2.0.7
>
>         Attachments: CPIS_test_language.pdf
>
>
> After set the value in the acroForm fields, i want to flatten the pdf. so 
> that there should not be any form fields in my output pdf and when i am 
> writing acroForm.flatten() it's not working.
> Here is my java code:
> package com.sdrc.image;
> import java.io.File;
> import java.util.List;
> import org.apache.pdfbox.pdmodel.PDDocument;
> import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm;
> import org.apache.pdfbox.pdmodel.interactive.form.PDField;
> public class PDFBoxLanguageTest {
>       public static void main(String[] args) throws Exception {
>               
>               String formTemplate = 
> "C:/Users/XXXX/Downloads/CPIS_test_language.pdf";
>         PDDocument pdfDocument = PDDocument.load(new File(formTemplate));
>         PDAcroForm acroForm = pdfDocument.getDocumentCatalog().getAcroForm();
>         acroForm.setNeedAppearances(true); //need this line for Hindi
>         
>         if (acroForm != null) {
>               // Get field names
>             List<PDField> fieldList = acroForm.getFields();
>             for (PDField pdField : fieldList) {
>               if(pdField.getFullyQualifiedName().equals("Text1")){
>                       // Here i am passing a text in "English"
>                               
> acroForm.getField(pdField.getFullyQualifiedName()).setValue("Welcome");
> //pdField.setReadOnly(true);// not working
> //pdField.getCOSObject().setInt("FF", 1);// not working
>               }else if(pdField.getFullyQualifiedName().equals("Text3")){
>                       // Here i am passing a text in "English-Hindi"
>                               
> acroForm.getField(pdField.getFullyQualifiedName()).setValue("Welcome-नमस्ते");
>   
> //pdField.setReadOnly(true);// not working
> //pdField.getCOSObject().setInt("FF", 1);// not working
>               }else{
>                       // Here i am passing a text in "Hindi"
>                               
> acroForm.getField(pdField.getFullyQualifiedName()).setValue("नमस्ते");
>               //pdField.setReadOnly(true);// not working
> //pdField.getCOSObject().setInt("FF", 1);// not working
> }
>                       }
>         }
> //        acroForm.flatten(); // not working
>         pdfDocument.save("C:/Users/XXXX/Downloads/CPIS_test_languageE.pdf");
> //        acroForm.flatten();  // not working
>         pdfDocument.close();
>         System.out.println("Done");
>                
> System.out.println("============================================");
>               
>       }
> }



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to