You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Subrata Kumar Pradhan (JIRA)" <ji...@apache.org> on 2017/09/07 05:53:00 UTC

[jira] [Created] (PDFBOX-3924) How to flatten pdf which contains acroform fields

Subrata Kumar Pradhan created PDFBOX-3924:
---------------------------------------------

             Summary: How to flatten  pdf which contains acroform fields
                 Key: PDFBOX-3924
                 URL: https://issues.apache.org/jira/browse/PDFBOX-3924
             Project: PDFBox
          Issue Type: Bug
          Components: AcroForm
    Affects Versions: 2.0.7
         Environment: Windows 10
            Reporter: Subrata Kumar Pradhan
            Priority: Critical
             Fix For: 2.0.7


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
            	}else if(pdField.getFullyQualifiedName().equals("Text3")){
            		// Here i am passing a text in "English-Hindi"
    				acroForm.getField(pdField.getFullyQualifiedName()).setValue("Welcome-नमस्ते");	
            	}else{
            		// Here i am passing a text in "Hindi"
    				acroForm.getField(pdField.getFullyQualifiedName()).setValue("नमस्ते");
            	}
			}
        }
//        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: dev-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: dev-help@pdfbox.apache.org