PDFBox: Comment faire pour “aplatir” une PDF-forme?

Comment faire pour "aplatir" une PDF-formulaire (supprimer le champ de formulaire, mais de garder le texte du champ) avec PDFBox?

Même question a été répondu ici:

un moyen rapide de le faire, c'est de supprimer les champs de la acrofrom.

Pour cela, vous avez juste besoin d'obtenir, le catalogue du document, puis le acroform
et puis supprimez tous les champs de ce acroform.

La représentation graphique est lié avec l'annotation et de rester dans
le document.

J'ai donc écrit ce code:

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDDocumentCatalog;
import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm;
import org.apache.pdfbox.pdmodel.interactive.form.PDField;

public class PdfBoxTest {
    public void test() throws Exception {
        PDDocument pdDoc = PDDocument.load(new File("E:\\Form-Test.pdf"));
        PDDocumentCatalog pdCatalog = pdDoc.getDocumentCatalog();
        PDAcroForm acroForm = pdCatalog.getAcroForm();

        if (acroForm == null) {
            System.out.println("No form-field --> stop");
            return;
        }

        @SuppressWarnings("unchecked")
        List<PDField> fields = acroForm.getFields();

        //set the text in the form-field <-- does work
        for (PDField field : fields) {
            if (field.getFullyQualifiedName().equals("formfield1")) {
                field.setValue("Test-String");
            }
        }

        //remove form-field but keep text ???
        //acroForm.getFields().clear();         <-- does not work
        //acroForm.setFields(null);             <-- does not work
        //acroForm.setFields(new ArrayList());  <-- does not work
        //???

        pdDoc.save("E:\\Form-Test-Result.pdf");
        pdDoc.close();
    }
}
quel a été le résultat du code?
le résultat est un fichier PDF avec "Test-String" dans le champ de formulaire. Mais le champ de formulaire est toujours là et modifiable.
voir blogs.adobe.com/jlockman/2011/10/08/...
Merci, mais je dois le faire automatiquement et je recherche une solution avec PDFBox. Mais je vais lire l'article attentivement, peut-être il ya quelque chose d'utile.
si je poste c'est une réponse wil vous upvote et à l'accepter?

OriginalL'auteur Lukas | 2013-01-22