We have some Scribus files with empty text fields that we export as pdf and then fill the fields with itext. Having upgraded to Scribus 1.5.5 and itextpdf 5.5.13.1 (from lowagie) a couple of the files that previously worked no longer display any inserted text. Stepping through the code that uses itext seems entirely normal and works fine for most files. Any hints as to what might cause such behavior or how to debug it?
Related
I'm having difficulties filling in a form using pdftk with text fields with true type fonts.
Font files (.ttf) are added to /Library/Fonts (OSX Mavericks)
The form is created with Adobe Acrobat Pro
The form includes normal (non form) text using these fonts
The form text fields also use these fonts
The form can successfully be filled and printed using Adobe Acrobat Pro and even Preview
However, pdftk throws an error when trying to fill it using the command:
pdftk ./my_form.pdf fill_form my_data.fdf output ./the_output.pdf
The output is:
Unhandled Java Exception in create_output():
java.lang.ArrayIndexOutOfBoundsException: 0
at pdftk.com.lowagie.text.pdf.DocumentFont.fillEncoding(pdftk)
at pdftk.com.lowagie.text.pdf.DocumentFont.doType1TT(pdftk)
at pdftk.com.lowagie.text.pdf.DocumentFont.<init>(pdftk)
at pdftk.com.lowagie.text.pdf.AcroFields.getAppearance(pdftk)
at pdftk.com.lowagie.text.pdf.AcroFields.setField(pdftk)
at pdftk.com.lowagie.text.pdf.AcroFields.setFields(pdftk)
If I change the font of the text inputs to Helvetica, Times Roman or Courier, pdftk will successfully create a PDF. Oddly though, Arial and Georgia also throw the same error.
I have tried to no avail to embed the fonts in the PDF using Ghostscript as suggested in this question How to repair a PDF file and embed missing fonts. gs may have embedded the fonts, but it removes the form fields so the resulting PDF can't feed back into pdftk.
A working resolution would be greatly appreciated.
I was getting the same java.lang.ArrayIndexOutOfBoundsException: 0 error using pdftk to fill forms on an Adobe Acrobat generated PDF. This question is super old, but I couldn't find a consistent answer on stackoverflow or elsewhere so I figured I'd post my fix.
What ended up working for me:
Opening the PDF in the OS X app Preview
Clicking into a form field, adding text then deleting that text (so nothing is actually changed)
Saving it
Running the PDF through pdftk again
I'm not that familiar with encoding or PDFs in general, but saving the PDF with Preview seems to fix the encoding or at least get it to a place where pdftk can work with it. Good luck.
This was causing a huge headache for me for 2 days. It turns out I was focusing on the wrong end of the problem.
A nice alternative that isn't as manual and only has to be done once is to enter some text in a field of the source PDF form, in your case ./my_form.pdf. I don't know EXACTLY why this works, but it does. that way if you want to create a new file at any time, you dont have to go through this trouble :)
Using the following code to generate thumbnails from PDFs (ColdFusion 8):
<cfpdf
action="thumbnail"
source="#LOCAL.PathToMyPDF#"
destination="#LOCAL.ImageDestination#"
format="png"
scale="100"
resolution="high"
overwrite="true"
pages="1" />
Sometimes it works great and generates a beautiful PNG representation of the first page. However, many times, it ends up creating a PNG with none of the text that's in the PDF, or with the text mangled or background images out of arrangement.
Is there any way to prevent this? I'm open to using a non-commercial java library, if necessary.
Without looking into this too deep, I would think you are having a font problem.
Try to run that bit of code with this parameter nofonts = "true" (which removes font styling) and see if you get your text (not styled).
If that works then you may need to register your fonts in Coldfusion (so Coldfusion has access to the fonts library). If you are not sure what fonts your PDF uses then you can check file, properties and click the font tab to see the fonts your PDF uses.
Check this link for more explanation on Coldfusion and fonts.
Again, I am not sure about your server and font set up because it wasn't mentioned in your post, so this is my best guess for you...
:)
I'm using WiX 3.7 I managed to get WiX Minimal UI to work properly following the instructions from http://wixtoolset.org/documentation/manual/v3/wixui/wixui_dialog_library.html
When I used Arabic Licence file is shown incorrectly (first lines are blank), unless user scrolls the text area in which case the text starts to look as expected.
I already tried the advice from the page http://wixtoolset.org/documentation/manual/v3/wixui/wixui_customizations.html
Open your RTF file in WordPad and save it from there in order to remove the complex RTF content from the file. After saving it, rebuild your MSI.
My current approach is to write a Custom EULA Dialog, but I would prefer to stay with WiX UI Minimal builtin Dialog... Have you experienced this problem? Do you know how to overcome it?
I'm using ExpertPDF library to generate PDF. I had the same code on two different servers. On one of them PDF was generated as a text (I could mark text in pdf and copy). On the second server PDF was generated as a picture, so I couldn't mark text in PDF file.
What is the differenc? Where should I looking for an error?
Now, after installing windows updates on all servers PDF is generateing as a Picture. I think, that updates had main influence on that change, but I'm not shure.
I had this problem too, with an older version of ExpertPdf that used IE for rendering. The problem is fixed in the last version (v9) that does not rely on IE anymore.
I have built an application that automates the filling out of form fields inside a pdf. It then takes various assets and combines them together to generate a "print ready" product. All of this is accomplished using the magic of iTextSharp. When form fields are populated, they are then flattened to text. The problem is that even with the fonts embedded they aren't really attached to the form fields in a meaningful way (like straight text elements are) and the printers are complaining that the pdf is generating licensing errors due to this. I researched this a bit and it just seems to be the nature of how form fields are.
The artists we are working with requested that we research a way to "outline" the text that is created from flattening the form fields. I found that running the PDF Optimizer with a custom preset allows for Text Outlining in Acrobat, and even better I can generate an Acrobat Sequence that runs this command on the pdf. The problem is that Sequences can not be automated, at all.
I found a plug-in called AutoBatch that allows for the execution of Sequences on the command line through a batch file. The downside is that this would require installing Acrobat Pro and the Plug-in on the server this application will be running on. Further it seems like an overkill solution just to outline the text in the pdf. For all I know at this point iTextSharp may allow me to do this programmatic, but searching for such a thing on google returns little results and nothing relevant.
So the question: Is there a better way to outline text in a pdf than the current solution I have implemented or am I kind of stuck?
TLDR; PDF is generated w/ non-standard fonts. I need to "outline" this text to send it to the printer. Currently using AutoBatch Acrobat Plug-In to execute Acrobat Sequence from the Command Line. Seems excessive, wondering if anyone knows a better way to automate font outlining.
I am also in a printing environment and have used forms for "Box Covers" plenty of times to shorten the code used to produce box covers.
I simple us "pdfStamper.FormFlattening = true;" and the printers (Xerox DP180 and DC5000) has no problems in using the PDF.
The moment I leave out FormFlattening the printer gives a lot of errors regarding the PDF.
If you are using FormFlattening then check if the printer has the font locally installed in order for it to reference the font from the print engine instead of the PDF resources.