You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Tilman Hausherr (Jira)" <ji...@apache.org> on 2019/09/09 17:13:00 UTC

[jira] [Updated] (PDFBOX-4583) Drawing only a portion of a PDF (Graphics.clip is ignored/overwritten)

     [ https://issues.apache.org/jira/browse/PDFBOX-4583?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tilman Hausherr updated PDFBOX-4583:
------------------------------------
    Fix Version/s:     (was: 2.0.17)
                       (was: 3.0.0 PDFBox)

> 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
>         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
(v8.3.2#803003)

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