Aquileo | Recent changes to bugshttps://sourceforge.net/p/qpdf/bugs/2020-12-05T19:53:14.360000ZRecent changes to bugsAquileo | #4 Errors checking PDF 1.5 from pdftex2020-12-05T19:53:14.360000Z2020-12-05T19:53:14.360000ZAnonymoushttps://sourceforge.net/u/userid-None/https://sourceforge.net07f2f12044a416be6fd4dfdd3fcecf88ea6ee638<div class="markdown_content"><p>Errrr, I think this bug may be back (??) I'm seeing this on Mint 20/Cinnamon, latest updates, etc etc: </p>
<p>user@MintBox:~/Desktop$ qpdf --encrypt ABC123 ABC123 256 -- somefile.pdf somefile.pdf<br/>
WARNING: somefile.pdf: file is damaged<br/>
WARNING: somefile.pdf (object 66 0, offset 42524): expected 66 0 obj<br/>
WARNING: somefile.pdf: Attempting to reconstruct cross-reference table<br/>
WARNING: somefile.pdf: object 66 0 not found in file after regenerating cross reference table<br/>
qpdf: operation succeeded with warnings; resulting file may have some problems</p></div>Aquileo | #14 pdf file with extra carriage returns not recognized2017-08-11T01:34:57.560000Z2017-08-11T01:34:57.560000ZJay Berkenbilthttps://sourceforge.net/u/userid-523210/https://sourceforge.netad1ec9ea736a2a544b6ebcff671c255086085fc6<div class="markdown_content"><p>As it happens, I just finished removing the dependency on libpcre from qpdf. I am still running tests and haven't pushed to master yet, but I will today or tomorrow. The new header detection code should be much more resilient in finding the header with nulls preceding it, so I doubt there will be an issue.</p>
<p>By the way, I'm using issue tracking at <a href="https://github.com/qpdf/qpdf" rel="nofollow">https://github.com/qpdf/qpdf</a> now rather than sourceforge. If you find any new issues, it would be easier if you create them there. I don't think I was yet doing that back in 2011 when this was opened. :-)</p></div>Aquileo | #14 pdf file with extra carriage returns not recognized2017-08-07T19:02:46.999000Z2017-08-07T19:02:46.999000ZAnonymoushttps://sourceforge.net/u/userid-None/https://sourceforge.net13b8bee061eef8ad1260e536ca425f0be9a9295a<div class="markdown_content"><p>Thanks for looking at this, Jay!<br/>
I have not tried to debug this or anything -- I just assumed that the problem is that the line<br/>
PCRE::Match m1 = header_re.match(line.c_str());<br/>
will fail on PDFs that have binary null bytes before the header. I don't know anything about the PCRE syntax, but to me it looks like the expression in the code will actually match if only the complete buffer is was passed on to the PCRE library (by using line.data() and line.size() instead of just line.c_str()).<br/>
I assume from a quick look at the new code, that the fixes you've made will cause qpdf to issue a warning (and then continue as if the file had specified PDF version 1.2), right? This is better than failing, but I think that actually matching the header would be even better. :-)</p></div>Aquileo | #14 pdf file with extra carriage returns not recognized2017-07-28T23:42:04.233000Z2017-07-28T23:42:04.233000ZJay Berkenbilthttps://sourceforge.net/u/userid-523210/https://sourceforge.net6b301a7d9312c1e4124ff44c08f1708726291418<div class="markdown_content"><p>I've been making some updates over the last few days. I haven't released anything yet, but qpdf built from the head of master on github (https://github.com/qpdf/qpdf) can actually handle this file now. I've made many enhancements to qpdf's ability to recover from all sorts of broken files. Do you have a way of testing that? I will probably make a 7.0.0 alpha release at some point in the near future.</p></div>Aquileo | #14 pdf file with extra carriage returns not recognized2017-06-28T14:12:15.232000Z2017-06-28T14:12:15.232000ZAnonymoushttps://sourceforge.net/u/userid-None/https://sourceforge.net382cd7332953f3e49f98afaa7196e2e4d12e5ccb<div class="markdown_content"><p>It seems that the search for the header doesn't cover a PDF like the one here: <a href="https://www.surrey.ac.uk/files/pdf/CHAPTER%206.PDF.htm" rel="nofollow">https://www.surrey.ac.uk/files/pdf/CHAPTER%206.PDF.htm</a> .<br/>
I've run in to other PDFs with a header much like the one I'm linking to, but I'm not sure where the binary stuff before the PDF header actually comes from.<br/>
Did the following on a Mac:</p>
<div class="codehilite"><pre><span class="c">% wget https://www.surrey.ac.uk/files/pdf/CHAPTER%206.PDF.htm -O /tmp/chapter6.pdf</span>
<span class="o">--</span><span class="mi">2017</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">28</span> <span class="mi">16</span><span class="p">:</span><span class="mi">08</span><span class="p">:</span><span class="mi">59</span><span class="o">--</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">www</span><span class="p">.</span><span class="n">surrey</span><span class="p">.</span><span class="n">ac</span><span class="p">.</span><span class="n">uk</span><span class="o">/</span><span class="n">files</span><span class="o">/</span><span class="n">pdf</span><span class="o">/</span><span class="n">CHAPTER</span><span class="c">%206.PDF.htm</span>
<span class="n">Resolving</span> <span class="n">www</span><span class="p">.</span><span class="n">surrey</span><span class="p">.</span><span class="n">ac</span><span class="p">.</span><span class="n">uk</span><span class="c">... 131.227.132.127</span>
<span class="n">Connecting</span> <span class="n">to</span> <span class="n">www</span><span class="p">.</span><span class="n">surrey</span><span class="p">.</span><span class="n">ac</span><span class="p">.</span><span class="n">uk</span><span class="o">|</span><span class="mf">131.227</span><span class="p">.</span><span class="mf">132.127</span><span class="o">|</span><span class="p">:</span><span class="mf">443.</span><span class="p">..</span> <span class="n">connected</span><span class="p">.</span>
<span class="n">HTTP</span> <span class="n">request</span> <span class="n">sent</span><span class="p">,</span> <span class="n">awaiting</span> <span class="n">response</span><span class="c">... 200 OK</span>
<span class="n">Length</span><span class="p">:</span> <span class="mi">1507072</span> <span class="p">(</span><span class="mf">1.4</span><span class="n">M</span><span class="p">)</span> <span class="p">[</span><span class="n">text</span><span class="o">/</span><span class="n">html</span><span class="p">]</span>
<span class="n">Saving</span> <span class="n">to</span><span class="p">:</span> ‘<span class="o">/</span><span class="n">tmp</span><span class="o">/</span><span class="n">chapter6</span><span class="p">.</span><span class="n">pdf</span>’
<span class="o">/</span><span class="n">tmp</span><span class="o">/</span><span class="n">chapter6</span><span class="p">.</span><span class="n">pdf</span> <span class="mi">100</span><span class="c">%[================================================================================================================>] 1.44M 6.06MB/s in 0.2s </span>
<span class="mi">2017</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">28</span> <span class="mi">16</span><span class="p">:</span><span class="mi">08</span><span class="p">:</span><span class="mi">59</span> <span class="p">(</span><span class="mf">6.06</span> <span class="n">MB</span><span class="o">/</span><span class="n">s</span><span class="p">)</span> <span class="o">-</span> ‘<span class="o">/</span><span class="n">tmp</span><span class="o">/</span><span class="n">chapter6</span><span class="p">.</span><span class="n">pdf</span>’ <span class="n">saved</span> <span class="p">[</span><span class="mi">1507072</span><span class="o">/</span><span class="mi">1507072</span><span class="p">]</span>
<span class="c">% qpdf --check /tmp/chapter6.pdf </span>
<span class="o">/</span><span class="n">tmp</span><span class="o">/</span><span class="n">chapter6</span><span class="p">.</span><span class="n">pdf</span><span class="p">:</span> <span class="n">not</span> <span class="n">a</span> <span class="n">PDF</span> <span class="n">file</span>
<span class="c">% qpdf --version</span>
<span class="n">qpdf</span> <span class="n">version</span> <span class="mf">6.0</span><span class="p">.</span><span class="mi">0</span>
<span class="n">Copyright</span> <span class="p">(</span><span class="n">c</span><span class="p">)</span> <span class="mi">2005</span><span class="o">-</span><span class="mi">2015</span> <span class="n">Jay</span> <span class="n">Berkenbilt</span>
<span class="n">This</span> <span class="n">software</span> <span class="n">may</span> <span class="n">be</span> <span class="n">distributed</span> <span class="n">under</span> <span class="n">the</span> <span class="n">terms</span> <span class="n">of</span> <span class="n">version</span> <span class="mi">2</span> <span class="n">of</span> <span class="n">the</span>
<span class="n">Artistic</span> <span class="n">License</span> <span class="n">which</span> <span class="n">may</span> <span class="n">be</span> <span class="n">found</span> <span class="n">in</span> <span class="n">the</span> <span class="n">source</span> <span class="n">distribution</span><span class="p">.</span> <span class="n">It</span> <span class="n">is</span>
<span class="n">provided</span> "<span class="n">as</span> <span class="n">is</span>" <span class="n">without</span> <span class="n">express</span> <span class="n">or</span> <span class="n">implied</span> <span class="n">warranty</span><span class="p">.</span>
</pre></div>
</div>Aquileo | #13 --cleartext-metadata option removes metadata entries2016-01-27T04:10:27.280000Z2016-01-27T04:10:27.280000ZAnonymoushttps://sourceforge.net/u/userid-None/https://sourceforge.net62d5d0798d9eccc62aa5fc0c46895c71032718d7<div class="markdown_content"><p>Hello,<br/>
I'm seeing the same issue with Evince document viewer on Lubuntu.</p></div>Aquileo | #5 PDF fails with Unsupported /R or /V in encryption dictionary2014-11-08T23:16:04.224000Z2014-11-08T23:16:04.224000ZAnonymoushttps://sourceforge.net/u/userid-None/https://sourceforge.netc5ceed84ab0826900057e3d4dc1e37009bb171ec<div class="markdown_content"><p>Dear sir,</p>
<p>If I give you one PDF file encripted with personal api file could you encrypt it for me?<br />
My email kheddarm@manyl-machinery.com</p></div>Aquileo | #14 pdf file with extra carriage returns not recognized2012-12-31T15:47:34.748000Z2012-12-31T15:47:34.748000ZJay Berkenbilthttps://sourceforge.net/u/userid-523210/https://sourceforge.net2cc527230f18a78751fe7409c53621869ef4d4c9<div class="markdown_content"><ul>
<li><strong>status</strong>: open --> closed</li>
<li><strong>milestone</strong>: --> v1.0_(example)</li>
</ul></div>Aquileo | #14 pdf file with extra carriage returns not recognized2012-12-31T15:47:18.973000Z2012-12-31T15:47:18.973000ZJay Berkenbilthttps://sourceforge.net/u/userid-523210/https://sourceforge.net2b9ae2a924f866b06819cb6952b30cd5fbebae0b<div class="markdown_content"><p>Since I had to make incompatible changes, the next release will be 4.0.0. This is going out today and will include a fix for this issue.</p></div>Aquileo | #14 pdf file with extra carriage returns not recognized2012-12-25T19:47:40.053000Z2012-12-25T19:47:40.053000ZJay Berkenbilthttps://sourceforge.net/u/userid-523210/https://sourceforge.net124c207cb7bd7e70be759ee783b9142b31305780<div class="markdown_content"><p>I have implemented a fix for this. It will be in the next release which I plan to get out this week. The change is on github now.</p></div>