Ivan Ridao Freitas created PDFBOX-3359: ------------------------------------------
Summary: Drawing to Graphics2D Key: PDFBOX-3359 URL: https://issues.apache.org/jira/browse/PDFBOX-3359 Project: PDFBox Issue Type: Bug Affects Versions: 2.0.1 Reporter: Ivan Ridao Freitas First, there is a little bug on PDFRenderer.renderPageToGraphics(int pageIndex, Graphics2D graphics, float scale) when using scale != 1 the call to clearRect() fill the original size with white background, but it should fill the scaled size. Second, I implemented a JPanel which is painted using that function and on every paint this message goes to the console: "DEBUG ScratchFileBuffer:516 - ScratchFileBuffer not closed!". Here is the code to test it, run it and resize the JFrame: {code:title=PanelTest.java|borderStyle=solid} import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.io.File; import java.io.IOException; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.SwingUtilities; import javax.swing.WindowConstants; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.rendering.PDFRenderer; public class PanelTest { private static JPanel getTestPanel() { PDDocument doc = null; try { doc = PDDocument.load(new File("anyfile.pdf")); } catch (IOException e) { e.printStackTrace(); } final PDFRenderer renderer = new PDFRenderer(doc); JPanel panel = new JPanel() { @Override protected void paintComponent(Graphics g) { try { renderer.renderPageToGraphics(0, (Graphics2D) g, 0.5f); } catch (IOException e) { e.printStackTrace(); } } }; return panel; } public static void main(String[] args) throws Exception { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); frame.add(getTestPanel()); frame.pack(); frame.setSize(600, 400); Dimension paneSize = frame.getSize(); Dimension screenSize = frame.getToolkit().getScreenSize(); frame.setLocation((screenSize.width - paneSize.width) / 2, (screenSize.height - paneSize.height) / 2); frame.setTitle("Test"); frame.setVisible(true); } }); } } {code} Ivan -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org For additional commands, e-mail: dev-h...@pdfbox.apache.org