Uploaded image for project: 'PDFBox'
  1. PDFBox
  2. PDFBOX-4861

Field not rendered

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • 2.0.19
    • None
    • AcroForm, Rendering
    • macOS 13

    Description

      Some fields disappear when rendered.

      b21..b26 fields appear correctly on "3916_2568 filled.pdf", but they are empty on "3916_2568 rendered.pdf".

      My code :

      package Main;
      
      import java.awt.image.BufferedImage;
      import java.io.File;
      import java.io.IOException;
      
      import org.apache.pdfbox.pdmodel.PDDocument;
      import org.apache.pdfbox.pdmodel.PDDocumentCatalog;
      import org.apache.pdfbox.pdmodel.PDPage;
      import org.apache.pdfbox.pdmodel.PDPageContentStream;
      import org.apache.pdfbox.pdmodel.common.PDRectangle;
      import org.apache.pdfbox.pdmodel.graphics.image.JPEGFactory;
      import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
      import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm;
      import org.apache.pdfbox.rendering.PDFRenderer;
      
      public class Main {
      
      	public static void main(String[] args) throws IOException {
      		PDDocument pdfDoc;
      		pdfDoc = PDDocument.load(new File("3916_2568.pdf"));
      
      		pdfDoc.removePage(3);
      		pdfDoc.removePage(2);
      		pdfDoc.removePage(0);
      
      		PDDocumentCatalog docCatalog = pdfDoc.getDocumentCatalog();
      
      		PDAcroForm form = docCatalog.getAcroForm();
      
      		form.getField("b21").setValue("02");
      		form.getField("b22").setValue("03");
      		form.getField("b23").setValue("04");
      		form.getField("b24").setValue("06");
      		form.getField("b25").setValue("07");
      		form.getField("b26").setValue("08");
      
      		PDFRenderer renderer = new PDFRenderer(pdfDoc);
      		BufferedImage image = renderer.renderImageWithDPI(0, 200);
      
      		float width = image.getWidth();
      		float height = image.getHeight();
      		PDPage page = new PDPage(new PDRectangle(width, height));
      		PDDocument pdfImgDoc = new PDDocument();
      		pdfImgDoc.addPage(page);
      		PDImageXObject img = JPEGFactory.createFromImage(pdfImgDoc, image);
      		PDPageContentStream contentStream = new PDPageContentStream(pdfImgDoc, page);
      		contentStream.drawImage(img, 0, 0);
      		contentStream.close();
      
      		pdfImgDoc.save(new File("3916_2568 rendered.pdf"));
      		pdfImgDoc.close();
      
      		pdfDoc.save(new File("3916_2568 filled.pdf"));
      		pdfDoc.close();
      
      	}
      
      }
      

      Attachments

        1. 3916_2568.pdf
          286 kB
          Jief Knudsen
        2. 3916_2568 filled.pdf
          288 kB
          Jief Knudsen
        3. 3916_2568 rendered.pdf
          398 kB
          Jief Knudsen
        4. 3916_2568 copy.pdf
          294 kB
          Jief Knudsen

        Issue Links

          Activity

            People

              msahyoun Maruan Sahyoun
              Jief Jief Knudsen
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: