set Destination attribute in printReqAttrSet

Neacsu Cristian neacsu.cristianstefan at gmail.com
Tue Feb 4 10:52:51 UTC 2020


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> 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>
> 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