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

Reply via email to