set Destination attribute in printReqAttrSet
Philip Race
philip.race at oracle.com
Wed Feb 5 00:16:43 UTC 2020
I found that there were some bugs in the JDK code that FX calls
that need to be fixed first. I started on those but it was reasonably
complex to test and so that is still WIP and then the FX part should
be possible.
-phil.
On 2/4/20, 2:52 AM, Neacsu Cristian wrote:
> Hello,
>
> Any updates regarding this matter? :-s
>
> Thank you in advance,
> Cristian-Stefan
>
> On Sat, May 11, 2019 at 2:36 AM Neacsu Cristian
> <neacsu.cristianstefan at gmail.com
> <mailto:neacsu.cristianstefan at gmail.com>> wrote:
>
> Damn ... Thank you for your reply and for the ticket submitted.
> I created an invoice application for my own company, and imagine
> that java 9+ would kill me :) All the invoices are generated
> automatically through pdf printer (I tried few free pdf libraries
> as an alternative, but for what I need they have poor results).
>
> I actually posted my ugly solution as well here some time ago:
> https://stackoverflow.com/questions/52684422/javafx-set-programmatically-the-destination-path-to-print-directly-a-node-to-p/52687798#52687798
>
> I know it is not much, but 89 hits might mean something. People
> might fight with it later, when they are going to migrate for new
> java versions.
>
> Thank you so much, and looking forward if you guys have time to
> take care of it.
>
> Cristian-Stefan
>
>
> On Fri, May 10, 2019 at 8:15 PM Philip Race
> <philip.race at oracle.com <mailto:philip.race at oracle.com>> wrote:
>
> Everything you are touching there pre-supposes knowledge
> of today's implementation of the JavaFX printing API, so
> I don't think we can endorse that.
> The right thing to do (maybe years ago!) is to file
> an RFE to request that something like the Destination attribute
> be supported in the FX printing API. I've reviewed the open
> bug list and I don't see that anyone else has asked for this.
>
> I just submitted :
> https://bugs.openjdk.java.net/browse/JDK-8223717
>
> JFYI, I reviewed some old notes and it was originally planned
> to be
> supported in the API but during design discussion it was removed
> as a result of a combination of getting it right, not being
> sure how
> many people would need it (you may be the first) and some perhaps
> over-stated concerns about security.
>
> -phil.
>
> On 5/10/19, 1:39 AM, Neacsu Cristian wrote:
> > For windows print through "Microsoft Print to PDF", there is
> no way right
> > now to pre-define a path programmatically. There is no way
> to set inside
> > the printReqAttrSet (J2DPrinterJob), an attribute of type
> Destination, to
> > solve this issue.
> >
> > Before jdk 9, I was bypassing it through reflection like this:
> >
> > java.lang.reflect.Field field =
> job.getClass().getDeclaredField("jobImpl");
> > field.setAccessible(true);
> > PrinterJobImpl jobImpl = (PrinterJobImpl) field.get(job);
> > field.setAccessible(false);
> > field = jobImpl.getClass().getDeclaredField("printReqAttrSet");
> > field.setAccessible(true);
> > PrintRequestAttributeSet printReqAttrSet =
> (PrintRequestAttributeSet)
> > field.get(jobImpl);
> > field.setAccessible(false);
> > printReqAttrSet.add(new Destination(new
> File(filePath).toURI()));
> >
> > Now, the module is closed, so I cannot access it through
> reflection. Is
> > there a way to obtain this behavior again?
>
More information about the openjfx-dev
mailing list