On Thu, 24 Jun 2021 23:00:42 GMT, Phil Race <p...@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