-
Notifications
You must be signed in to change notification settings - Fork 556
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
disable print causes nullpointer #375
Comments
@mahmutcanprehcm Please show the |
java.lang.NullPointerException
at org.xhtmlrenderer.layout.Layer.layoutPages(Layer.java:1066)
at org.xhtmlrenderer.pdf.ITextRenderer.layout(ITextRenderer.java:232)
at de.printer.service.pdf.DefaultTemplateBuilderService.xhtmlToPdf(DefaultTemplateBuilderService.java:72)
at de.printer.service.pdf.DefaultTemplateBuilderService.dtoToByte(DefaultTemplateBuilderService.java:33) |
#Created by Apache Maven 3.3.9 |
@mahmutcanprehcm But version 9.1.11 is very old. Please try with the latest version 9.9.1. |
the same with 9.9.1 java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:100)
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:106)
at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:302)
at java.base/java.util.Objects.checkIndex(Objects.java:385)
at java.base/java.util.ArrayList.get(ArrayList.java:427)
at org.xhtmlrenderer.pdf.ITextRenderer.createPDF(ITextRenderer.java:372)
at org.xhtmlrenderer.pdf.ITextRenderer.createPDF(ITextRenderer.java:328)
at com.solutionfactory.HtmlToPdfOpenPDF.main(HtmlToPdfOpenPDF.java:32) "The problem occurs when you call ITextRenderer.java RenderingContext c = newRenderingContext();
c.setInitialPageNo(initialPageNo);
PageBox firstPage = pages.get(0);
com.lowagie.text.Rectangle firstPageSize = new com.lowagie.text.Rectangle(0, 0, firstPage.getWidth(c) / _dotsPerPoint,
firstPage.getHeight(c) / _dotsPerPoint); |
@mahmutcanprehcm I would say, it's rather a wrong usage. Why do you call When you convert a web page to PDF, it's usually intended for printing. It means |
I need a single page. It is an invoice that goes to a thermal printer and if the customer wants to download a PDF, he should not receive several pages. |
Ok, but how |
OK. Unfortunately I couldn't find any documentation about this method. How can I then ensure that everything only ends up on one page? |
I'm not sure I entirely understand your use case, but one way to
effectively disable pagination would be to set a page height of e.g. 500 cm.
…On Wed, Sep 4, 2024, 10:11 mahmutcanprehcm ***@***.***> wrote:
OK. Unfortunately I couldn't find any documentation about this method.
How can I then ensure that everything only ends up on one page?
—
Reply to this email directly, view it on GitHub
<#375 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAF42F4XTEURSDIWJE2ZKTZU26DBAVCNFSM6AAAAABNMN4NTGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMRYGIYDANZZGQ>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
(Urk, sorry the late response here.) Thanks, that makes sense. The behavior you're looking for (PDF output on a single page with page extents trimmed to the content extent) isn't something that's come up before. FS doesn't support it directly. One fairly low effort way you could hack around this would be to use ITextRenderer#findPagePositionsByID(). It takes a regex that returns the content area of block-level elements with an id attribute set that match the pattern. With an empty This would have the negative that you'd be laying out the receipt twice (but only rendering the PDF once). FS is fast enough though that that may not matter. If that is a problem, I can't think of an alternative beyond doing surgery on ITextRenderer itself to provide the option to adjust page sizes post layout. Edit: Another option would be to use iText or PDFBox to update the crop box of the page after the fact (vs. doing a second layout). I'm not entirely sure which would be faster though. |
i have an html page which can be dynamically grow. i want to get one pdf page.
This code causes
NullPointerException
:ITextRendere.java:
it this a bug, or wrong usage?
The text was updated successfully, but these errors were encountered: