Can I print a single book from the command line?

I’m trying to produce individual PDFs of each book in the project. My thought was to use the command line tool, like this:

"C:\Program Files\PTXprint\ptxprint.exe" -b ROM -c SingleSpaceDraft -P XYZ

(I’m happy to run that command separately for each file.)

Here XYZ is the project identifier, and SingleSpaceDraft is the name of a configuration I’ve created. When I run the command, I get these three files, but no PDF.

XYZ_SingleSpaceDraft_ROM_ptxp.log
XYZ_SingleSpaceDraft_ROM_ptxp.SFM
XYZ_SingleSpaceDraft_ROM_ptxp.tex

The bottom of the log file has:

No pages of output.

I cannot find documentation online to address this situation. I am guessing that the selection of the book is included in the configuration, though I’m not sure.

Is it possible to use a single configuration to generate a PDF for single books like this?

I don’t have the compiled .exe file, but your command works when running the program from the github source. So if there is an issue, it’s with the .exe that’s being compiled.

Just a sanity check–does Romans print correctly when you open up PTXprint and print it via the GUI?

Yes, this should work, and indeed worked when I tried it on a couple of books. I would second @mjames’ suggestion that you first check that it is working when you do load up the UI. After that it will happily create individual books from the command-line.

Apologies that the status/error messages don’t seem to be appearing on the command-line output. That is something we’re going to need to address in a future version.

Thanks to you both for such quick responses. I’ve replicated my experience with these steps:

  1. Open the GUI.
  2. Click “Print (Make PDF)”
    – a PDF copy of Romans opens up
  3. Close GUI application
  4. Delete PDF generated in C:\My Paratext 8 Projects\XYZ\local\ptxprint
  5. From command line, run:
    "C:\Program Files\PTXprint\ptxprint.exe" -b ROM -c SingleSpaceDraft -P XYZ
    – No console output and no PDF generated.
  6. (I can then open the GUI and generate a copy)

Interestingly, when I first opened the computer to replicate this, it was giving me an unknown error message. I then clicked the “Tidy Up” button, and was able to carry on with the steps above. (I generated the zip file as it suggested, and if it’s helpful I’d be happy to email it to a secure email address.)

And yes please to more console output. :slight_smile:

I will also have a look at running it from the repository code.

Here is another trick which might give you an insight into what’s going on. Add the -l debug option to the command-line as follows:

C:\Program Files\PTXprint\ptxprint.exe" -l debug -b ROM -c Short -P WSGlatin

This option will create a ptxprint.log file in this location:

"C:\Users\<YourUserName>\AppData\Local\SIL\ptxprint\ptxprint.log"

Then open that file to see if there are any clues as to why it isn’t generating the PDF as expected. If it isn’t obvious as to why it is failing from reading the messages (particularly at the END of that log file), then please feel free to send that to the ptxprint_support@sil.org address.

If the ptxprint.log doesn’t give any clues as to why it failed (i.e. res=1) then it is most likely that the point of failure was in the .xdvi to .pdf conversion.

Please look in the \local\<configName> folder for a file that ends in .xdvi_log and see if that provides any clues. It will be named something like this:

C:\My Paratext 9 Projects\<XYZproject>\local\ptxprint\<Default|ConfigName>\XYZproject_Default_ROM_ptxp.xdvi_log

If that doesn’t reveal anything useful to you, then send that to the support email address (see above), or better still create an archive (using the button on the Help tab) and send that to be diagnosed.