You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Daniel Migowski (Jira)" <ji...@apache.org> on 2021/03/08 07:33:00 UTC
[jira] [Updated] (PDFBOX-5120) Need to do strange stuff to create
my own PageDrawer Parameters
[ https://issues.apache.org/jira/browse/PDFBOX-5120?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Migowski updated PDFBOX-5120:
------------------------------------
Description:
Currently using the following function to create my PageDrawer Parameters:
{{
private static PageDrawerParameters createPageDrawerParameters(PDPage page) {
Class<PageDrawerParameters> clazz = PageDrawerParameters.class;
Constructor<PageDrawerParameters> c;
try {
c = clazz.getDeclaredConstructor(PDFRenderer.class, PDPage.class, boolean.class,
RenderDestination.class, RenderingHints.class);
if( !c.isAccessible() ) {
c.setAccessible(true);
}
// TODO: Play with other rendering hints
Map<Key,Object> hints = new HashMap<>();
hints.put(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_SPEED);
hints.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
hints.put(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_SPEED);
hints.put(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_DISABLE);
hints.put(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON);
hints.put(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR);
hints.put(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_SPEED);
hints.put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
return c.newInstance(null,page,true,RenderDestination.VIEW,new RenderingHints(hints));
} catch (Exception e) {
throw new RuntimeException("Could not instantiate PageDrawerParameters.",e);
}
}
}}
Isn't there a better way to achive this? Why isn't the constructor public at all? I need this to create my own PageDrawer because I am writing a PDF Viewer GUI in SWT that uses PDFBox for the rendering and to render I thought it would be nice to be able to use the PageDrawer.
was:
Currently using the following function to create my PageDrawer Parameters:
{{ private static PageDrawerParameters createPageDrawerParameters(PDPage page) {
Class<PageDrawerParameters> clazz = PageDrawerParameters.class;
Constructor<PageDrawerParameters> c;
try {
c = clazz.getDeclaredConstructor(PDFRenderer.class, PDPage.class, boolean.class,
RenderDestination.class, RenderingHints.class);
if( !c.isAccessible() ) {
c.setAccessible(true);
}
// TODO: Play with other rendering hints
Map<Key,Object> hints = new HashMap<>();
hints.put(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_SPEED);
hints.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
hints.put(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_SPEED);
hints.put(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_DISABLE);
hints.put(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON);
hints.put(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR);
hints.put(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_SPEED);
hints.put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
return c.newInstance(null,page,true,RenderDestination.VIEW,new RenderingHints(hints));
} catch (Exception e) {
throw new RuntimeException("Could not instantiate PageDrawerParameters.",e);
}
}}}
Isn't there a better way to achive this? Why isn't the constructor public at all? I need this to create my own PageDrawer because I am writing a PDF Viewer GUI in SWT that uses PDFBox for the rendering and to render I thought it would be nice to be able to use the PageDrawer.
> Need to do strange stuff to create my own PageDrawer Parameters
> ---------------------------------------------------------------
>
> Key: PDFBOX-5120
> URL: https://issues.apache.org/jira/browse/PDFBOX-5120
> Project: PDFBox
> Issue Type: Bug
> Components: Rendering
> Reporter: Daniel Migowski
> Priority: Major
>
> Currently using the following function to create my PageDrawer Parameters:
> {{
> private static PageDrawerParameters createPageDrawerParameters(PDPage page) {
> Class<PageDrawerParameters> clazz = PageDrawerParameters.class;
> Constructor<PageDrawerParameters> c;
> try {
> c = clazz.getDeclaredConstructor(PDFRenderer.class, PDPage.class, boolean.class,
> RenderDestination.class, RenderingHints.class);
> if( !c.isAccessible() ) {
> c.setAccessible(true);
> }
> // TODO: Play with other rendering hints
> Map<Key,Object> hints = new HashMap<>();
> hints.put(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_SPEED);
> hints.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
> hints.put(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_SPEED);
> hints.put(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_DISABLE);
> hints.put(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON);
> hints.put(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR);
> hints.put(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_SPEED);
> hints.put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
> return c.newInstance(null,page,true,RenderDestination.VIEW,new RenderingHints(hints));
> } catch (Exception e) {
> throw new RuntimeException("Could not instantiate PageDrawerParameters.",e);
> }
> }
> }}
> Isn't there a better way to achive this? Why isn't the constructor public at all? I need this to create my own PageDrawer because I am writing a PDF Viewer GUI in SWT that uses PDFBox for the rendering and to render I thought it would be nice to be able to use the PageDrawer.
--
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