This bug was actually noticed when using okular (0.14.3) to view a file that had a "\r\n" sequence in it's name (don't ask!) and requesting that the document be printed to a postscript printer or saved as a postscript file. The version of poppler installed here is currently 0.20.5, but from a quick look at the sources the same issue is present in 0.22.3. Okular uses poppler to convert the document to postscript before printing or saving, and the resulting postscript file contains a "%%Title" line which has the name of the file in it. The postscript file is therefore syntactically incorrect as the part of the file name following the "\r\n" occurs at the start of a line with no preceding comment character. Arguably the fault is with okular, but it's possible that other applications using poppler could trigger the same issue and so a fix in poppler seems to me to be the best option. I propose sanitising the contents of psTitle immediately before the call to writePSFmt() in if(psTitle) { writePSFmt("%%Title: {0:s}\n", psTitle); } at line 1416 of poppler/PSOutputDev.cc. Apologies for not including a tested patch, but my C++ is not strong, so I'm not sure if code using the standard C function index() (or perhaps strspn() or similar) is the appropriate way to fix this. Also, our current environment is in the process of upgrading from poppler 0.20.5 to 0.22.3 and right now it would be awkward to attempt to build either the older or new version! If no one comes up with a response to this before our environment has the new version installed I will attempt to do so... Duncan
Can you please attach such a file?
Created attachment 78492 [details] GZIPed tar file containing PDF with newline in name and PS output produced when viewing file with okular
Will be fixed in next poppler 0.22.x release
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.