RFR: 8223717: javafx printing: Support Specifying Print to File in the API [v3]
Kevin Rushforth
kcr at openjdk.java.net
Fri Jun 25 21:28:03 UTC 2021
On Thu, 24 Jun 2021 23:00:42 GMT, Phil Race <prr at openjdk.org> wrote:
>> This enhancement adds the String property outputFileProperty() to the JobSettings class.
>> The value should be a string that references a local file encoded as a URL.
>> If this is non-null and set to a location that the user has permission to write to,
>> then the printer output will be spooled there instead of the printer, so long as the platform printing system supports this.
>> The user can of course also set a print-to-file destination in the platform printer dialogs which may over-ride what the application set. But now the application can also see what it was set to, and cancel or alter it if necessary.
>>
>> A simple manual test is provided, manual mainly because the few real printing functional tests are all manual as they are only useful if run with a printer configured.
>
> Phil Race has updated the pull request incrementally with one additional commit since the last revision:
>
> 8223717: javafx printing: Support Specifying Print to File in the API
I left a comment on the implementation and a couple on the test inline.
tests/manual/printing/PrintToFileTest.java line 134:
> 132: job.printPage(printNode);
> 133: job.endJob();
> 134: if (f.exists()) {
I have only tried this on Windows. This check is failing for me when I run the test, and yet the file is created correctly. If I add a short sleep, it works (so the printing is likely being done on a different thread).
tests/manual/printing/PrintToFileTest.java line 137:
> 135: System.out.println("created file");
> 136: passed = true;
> 137: f.delete();
Maybe leave the file? I found it useful to verify its contents.
-------------
PR: https://git.openjdk.java.net/jfx/pull/543
More information about the openjfx-dev
mailing list