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:27:00 UTC
[jira] [Issue Comment Deleted] (PDFBOX-4861) Field not rendered
[ https://issues.apache.org/jira/browse/PDFBOX-4861?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jief Knudsen updated PDFBOX-4861:
---------------------------------
Comment: was deleted
(was: 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.
> b21..b26 fields appear correctly on "3916_2568 filled.pdf", but they are empty on "3916_2568 rendered.pdf".
> My code :
> {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}
--
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