pdfbox-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jan Buschtöns (JIRA) <j...@apache.org>
Subject [jira] [Commented] (PDFBOX-4583) Drawing only a portion of a PDF (Graphics.clip is ignored/overwritten)
Date Tue, 02 Jul 2019 06:35:00 GMT

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

Jan Buschtöns commented on PDFBOX-4583:

Hmm. The example code works. It's just that the PDF I was drawing simply was transparent on
the upper left corner I was drawing...

But my original application just draws white instead of a pdf now. I've also changed the code
to remember and then restore all those settings. That doesn't help, either. It works with
2.0.16 but not with 2.0.17-SNAPSHOT

> Drawing only a portion of a PDF (Graphics.clip is ignored/overwritten)
> ----------------------------------------------------------------------
>                 Key: PDFBOX-4583
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-4583
>             Project: PDFBox
>          Issue Type: Bug
>          Components: Rendering
>    Affects Versions: 2.0.15
>            Reporter: Jan Buschtöns
>            Assignee: Tilman Hausherr
>            Priority: Major
>             Fix For: 2.0.17, 3.0.0 PDFBox
>         Attachments: clip_PDFBox_FORMGEN-2184-master.zip
> I want to use PDFBox to draw PDFs in a swing application.
> I want to draw only a portion of the PDF. As far as I know, the way to do this in swing
is with the "clip"-method on the Graphics object. However, no matter what clip I set, the
whole PDF is drawn.
> PDFRenderer calls "setClip", when it probably should use "clip". The latter sets the
current clip to the intersection of the old current clip and the provided shape, whereas the
former resets the current clip
> I've attached an example maven project, but the gist is:
> {code:java}
>           @Override 
>           public void paint(final Graphics g) { 
>               final Graphics2D g2 = (Graphics2D) g; 
>               try { 
>                   PDDocument pdDocument = DDocument.load(App.class.getResourceAsStream("somepdf.pdf"));

>                   g2.clip(new Rectangle(20, 20)); 
>                   final PDFRenderer pdfRenderer = new org.apache.pdfbox.rendering.PDFRenderer(pdDocument);

>                   pdfRenderer.renderPageToGraphics(0, g2); 
>               } catch (final IOException e) { 
>                   throw new RuntimeException(e); 
>               } 
>           }
>   {code}

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: dev-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: dev-help@pdfbox.apache.org

View raw message