You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Jief Knudsen (Jira)" <ji...@apache.org> on 2020/06/05 09:25:00 UTC

[jira] [Commented] (PDFBOX-4861) Field not rendered

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

Jief Knudsen commented on PDFBOX-4861:
--------------------------------------

My code better formatted :

{code:java}
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();

	}

}

{code}

> Field not rendered
> ------------------
>
>                 Key: PDFBOX-4861
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-4861
>             Project: PDFBox
>          Issue Type: Bug
>          Components: Rendering
>    Affects Versions: 2.0.19
>         Environment: macOS 13
>            Reporter: Jief Knudsen
>            Priority: Blocker
>         Attachments: 3916_2568.pdf
>
>
> Some fields disappear when rendered.
> My code :
> {code:java}
> // code placeholder
> {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(); } }



--
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