I am programmatically creating PDFs, and a recent change to my generator is creating documents that crash both Mac Preview and Adobe Reader on my Mac. Before Adobe Reader crashes, it reports:
There was an error processing a page.
There was a problem reading this document (18).
I suspect that that "18" might give me some information on what is wrong with the PDF I've created. Is there a document explaining the meaning of these status codes?
Hold down the Ctrl key while pressing OK and you should be able to load past this point in the document and possibly get more details.
What tool are you using to create the PDF (Aspose)?
I wasn't able to locate any info on the Adobe error code, so I ended up installing xpdf via Darwinports. Loading my PDF with xpdf spit out much more useful error information and I was able to track down the problem. (I was creating a circular reference in a form when I copied content from one document to another.)
Related
I am creating a separate question, stemming from this one. The used code is almost the same. The reason is that the original problem was about subsetting a font with pdfbox, which I kind of dealt with. I got faced though with another problem, which is : the annotations, and how the fonts used in them are interpreted by particularly Acrobat Reader DC.
I tried different combinations of fonts and embedding options and got rather desperate. The fact is that I had a feeling that in particular the way these things are handled by the programs that interpret the PDF files is non-standard. I think I read somewhere that the annotations and the way they are displayed is on purpose non-standardized by the PDF format, to give freedom to the interpreters to handle them in their own way, since the main purpose of the annotations is the interaction with the user. TL;DR I cannot understand why Acrobat Reader DC doesn't like the annotations I have created and saved with PDFBOX. I even opened a question on friendly and helpful Adobe's User Community forum. But as I expected, someone suggested me to better investigate this question with the PDFBOX team.
Everything is possible, but rather than writing a question on PDFBOX mailing list (I could never get used or understand the efficient use of the mailing lists btw), I want to open a question here because I hope that it could help others to understand the PDF format better.
I basically rephrase the above question from the Adobe's forums here: Here is an example (Google Drive link) with FreeText annotations (but it seems to make no difference if I use Stamp annotations instead), it causes problems when open by Adobe Acrobat Reader DC (file) version 21.001.20149.37945 (I think this corresponds to April 16th '21 update). Specifically the problem happens when the Comments pane is opened by the user, either manually or automatically.
Manually:
link
Automatically:
link
While experimenting, I also tried to unset the "Use local fonts" option in Preferences -> Page Display. I had the impression that maybe Acrobat Reader will be more eager to show the error message once it is not allowed to substitute the erroneously embedded fonts with the possible local fonts. I am not sure if this is true.
The error that I get is the infamous "Cannot extract the embedded font XXXXXX+SomeFontName" as seen in the below picture:
link
The same problems happen also if I use full font embed (subsetting option set to false when using PDType0Font.load). I also tried to embed OpenSans font instead of LiberationSans, also tried to manually convert LiberationSans to a TTF font with fewer glyphs using FontForge, even tried to use Windows ARIALN.TTF, thinking that maybe the font is the problem. All cause the same behavior in Acrobat Reader DC. I have also tried to run Acrobat Reader 2019 Pro Preflight on the document and in the profile that scans the document for the possible font inconsistencies, it reports no errors.
Of course, when I use e.g. PDType1Font.HELVETICA instead of custom TTF font, I do not get the above errors. But I cannot use it because it does not contain the glyphs for the Unicode characters that I use. Does anybody have a better idea?
Thank you very much!
EDIT: to make myself clear - the error does not appear ALWAYS. it appears on some machines constantly (e.g. I am using Windows 7 64-bit with latest Acrobat Reader DC installed to reproduce it fairly well), while on my Windows 10 64-bit with the same version of Acrobat Reader DC it sometimes appears, and sometimes not - I haven't figured out why or in what cases.. - which makes me think - but no - I checked that too - the font I am using opens up alright on the machine where the problem is fairly constant)
UPDATE: at my wits ends again, I created a blank page with Apache OpenOffice, exported it to PDF, opened it with Acrobat Reader DC (last version), added a FreeTextTypewriter annotation (View -> Tools -> Comment -> Open) with 4 greek letters in ArialNarrow font, saved it, reopened it with Acrobat Reader DC, and it gives me the same error (cannot extract the embedded font...).. So this could be the Reader problem? But they made this so difficult to diagnose.. Here is the file, but I do not expect it to show errors on other machines. It's one of those moments that you start to believe in magic and the power of prayer (and a good sleep)
UPDATE 30/04/2021
So, to sum things up, I haven't come with a solution yet, but I came up with three files created with PDFBOX, OpenPDF (iText5 fork) and Acrobat Reader DC itself (can append annotations and save - just adding a simple Text box with greek text through Comment pane) - and they all issue the above error message, when open by Acrobat Reader DC. I have posted details in the Acrboat Reader forum here (same link as in comment)
I have added the code that I used to create the OpenPDF example file here and the example 3 files are in the same repository here
I've built my own .PDF carefully following Adobe PDF specifications. macOS has Preview and that opens and displays the PDF document properly, but Acrobat Reader reports an error, not specified, and does not display the document.
If I open it with Preview and export it from there as another PDF, the result is shown properly by both Preview and Acrobat Reader.
The Preview version is somewhat inexplicably complicated and I cannot determine what difference was done by Preview to allow Acrobat to handle it.
Nor have I been able to find software, even from Adobe's site, that will diagnose the problem.
I have attempted many reasonable variations, additions, etc. on my PDF, to no avail.
What's the secret formula to unlock the beast?
In response to the request, here's an abbreviated copy of the PDF file. All the controlling objects are present but I've deleted portions of the streams to spare you the scrolling. There are two fonts on one page which is an amalgam made of two separate source PDFs, one generated by me and the other from a different supplier, hence the preliminary /Contents objects setting up scaling preliminary to each page object.
Well, after placing the sample here, I get a reject message saying there was an error submitting the edit.
I'm going to try again after eliminating all the compression code in the streams and much of the uncompressed formatting code, to save you from all the scrolling.
(PDF code removed as requested. Stay tuned for update.
In my project I generate PDFs from HTML. The problem is these PDFs can't be printed though I they are opened and displayed correctly. Files are generated by ConvertAPI, I also tried wkhtmltopdf but it gave me the same result.
In Windows Adobe Reader 9 gave me error messages "Print is impossible" and then "No pages were selected for print" (this is translation as there isn't English localization in my Reader). After I upgraded to Adobe Reader X it started printing but only part of document and giving error message "Drawing error occurred".
Using print as images doesn't help, i just got empty sheet.
I managed to print document from Linux but it's not an option for me.
Any ideas what could be a problem here? Or at least how can i find what's actually a problem?
UPD. Most likely problems are caused by SVG in my HTML.
This question already has answers here:
How do you debug PDF files?
(8 answers)
Closed 5 years ago.
im generating pdf files using a ruby library called "prawn". I have one particular file that seems to be considered "Corrupt" by adobe reader. It shows up fine in both preview and in adobe reader. It gives errors like:
Sometimes I get:
"Could not find the XObject named '%s'.
Othertimes I get:
"Could not find the XObject named "Im4".
Then always I get:
"An error exists on this page. Acrobat may not display the page
correctly. Please contact the person who created the PDF document to
correct the problem."
Is there a way to open a pdf with some tool and have it tell you what is technically wrong with the pdf? Im sure I could figure it out quickly with something like this...
thanks
Joel
A PDF is a dump of PDF objects so it sounds like objects are missing or the references pointing to the object are wrong. You can view a PDF in a text editor and see the refs table and you can see the PDF objects in Acrobat (I wrote a blog article on this at (http://pdf.jpedal.org/java-pdf-blog/bid/10479/Viewing-PDF-objects).
Your best bet might to take an Open Source tool like IText which can read PDFs and add some debugging code to get it to show the object structures.
the general post about debugging pdf might have been also helpful as rups / pdfstreamdump etc is mentioned there How do you debug PDF files?
I am embeding a PDF form on my web application. The application allows you to fill in the fields in the form, and when you are done, click on a "Submit" button, which saves whatever you've entered into the form. This functionality is working fine.
Unfortunately, Adobe Reader displays a message on top of their embeded control that says: "Please fill out the following form. You cannot save data typed into this form. Please print your completed form if you would like a copy for your records."
Now, I know what Adobe Reader is trying to tell the user. Basically, Adobe Reader will not allow you to save the contents of what you've entered into your local hard drive as a new PDF.
However, since we've added a Submit button which effectively will save what they typed within our application, and it is working. Therefore, we think this message is misleading, and would like to remove it.
I use iTextSharp in .Net for our form automation server side. I have not found a way to remove this message from the embeded forms.
Any help?
It has been a long time, but adobe has added option to hide this annoying message.
On OSX 11.0.3, Preferences>Forms>Always hide document message bar
I'm pretty sure that there is no way around this if you want to continue to use Acrobat Reader to display the PDF. This message is built into Acrobat Reader, and I am not aware of any way to override it from the outside.
Sorry, this is more in the way of a negative answer than a positive one.
There are some third-party, free, projects that are basically PDF viewers for .NET. This would allow you to get rid of the message by avoiding Acrobat Reader entirely, although this is a large amount of work just to get rid of a message.
This one is pretty comprehensive.
Another option that I'm sure you already thought of is to just build the form on the web page, instead of using the PDF. Again, a lot of extra work just to remove a message.
Adobe Acrobat (Standard and Pro) can change PDF forms to enable Adobe Acrobat Reader users to 'fill+save' form data (instead of the standard 'fill+print').
It is a special option available when saving the PDF saying "Save PDF with extended Reader functions" (or similar... I'm translating this back from German into English).
This cannot be achieved with any non-Adobe PDF creating software (unless this has licensed that function from Adobe). The technical reason for this is that Adobe uses a digital signature to protect this function, and that you'll have to agree to not reverse engineer the key when you accept the Adobe EULA. Acrobat Reader has that key compiled into its binary, and if it verified the key, it will change the message displayed to the user indicating that the form data of this document can be saved (it will also change its behaviour and indeed save the data).
Maybe this info helps you?
Switch to View > Full Screen Mode (short cut is on a mac is ⌘L).
Although this mode hides all menus and scroll bars too, I prefer it. IMHO the reader uses far too much screen real estate on junk)