tracker issue : CF-4088535

select a category, or use search below
(searches all categories and all time range)
Title:

CFPDF Issue: cf-acrobat.jar is missing PDFToUnicodeCMap.class

| View in Tracker

Status/Resolution/Reason: Closed/Withdrawn/CannotReproduce

Reporter/Name(from Bugbase): Dave Levin / Dave Levin (Dave Levin)

Created: 11/17/2015

Components: Document Management

Versions: 10.0

Failure Type: Non Functioning

Found In Build/Fixed In Build: Final /

Priority/Frequency: Critical / All users will encounter

Locale/System: English / Windows 7 SP1 64-bit

Vote Count: 0

I discovered this problem when trying to use <cfpdf action="extracttext"> on a PDF.  When I ran the operation I received an error message:

"Unable to instantiate com.adobe.internal.pdftoolkit.pdf.graphics.font.PDFToUnicodeCMap object from CosObject"

I knew the PDF was valid and I was able to manipulate it using other <cfpdf> actions as well as iText pdfReader, etc.

I did some digging in the cf-acrobat.jar file located in C:\ColdFusion10\cfusion\lib and noticed that PDFToUnicodeCMap.class was missing!  Just to be sure I checked my other ColdFusion 10 installations and all of the servers were also missing that class in the cf-acrobat.jar file.

To test my theory I downloaded the class manually from here: http://www.java2s.com/Code/Jar/p/Downloadpdftranscoderjar.htm (you need to extract the class from "org.apache.fop.pdf.PDFToUnicodeCMap.class").  I then shut down ColdFusion services and added the class to the appropriate location in cf-acrobat.jar ("com.adobe.internal.pdftoolkit.pdf.graphics.font").  I then re-started ColdFusion services and re-ran my <cfpdf> extracttext operation again.  It worked!

My guess is that someone must have accidentally forgot to add this file into the jar.  Hopefully this should be a simple fix for the Adobe dev team.  I have attached the offending PDF to this bug so you can replicate the issue yourself if you want. However a simple examination of cf-acrobat.jar should be a dead giveaway that this class is indeed missing.

----------------------------- Additional Watson Details -----------------------------

Watson Bug ID:	4088535

External Customer Info:
External Company:  
External Customer Name: Dave Levin
External Customer Email:  
External Test Config: Windows 7 x64, IIS7, ColdFusion version: 10,0,17,295085

Attachments:

  1. November 18, 2015 00:00:00: 1_AAP_-_MCCALLA_HD_ALL_PURPOSE_CLEANER.pdf
  2. November 19, 2015 00:00:00: 2_PDFToUnicodeCMap.class
  3. November 19, 2015 00:00:00: 3_AAP_-_MCCALLA_HD_ALL_PURPOSE_CLEANER.pdf

Comments:

Hi, I verified the same in coldfusion 10 with build number: 295085 I am unable to replicate the issue, and i also see the class present in my jar. Cross verified in 3 coldfusion 10 builds. Can you please confirm your coldfusion 10 Build number?
Comment by Kailash B.
5302 | November 18, 2015 05:06:00 AM GMT
@Kailash, I apologize. I made a mistake when I said that the class file PDFToUnicodeCMap.class was missing from cf-acrobat.jar. However I believe there is a bug within this file which is causing an error when trying to access some PDF files. To replicate this issue please try the following on the attached PDF (I re-uploaded a new file with no spaces in the filename): <cfpdf action = "extracttext" source = "AAP_-_MCCALLA_HD_ALL_PURPOSE_CLEANER.pdf" name = "temp"> You should receive the error: "Unable to instantiate com.adobe.internal.pdftoolkit.pdf.graphics.font.PDFToUnicodeCMap object from CosObject" Now try replacing PDFToUnicodeCMap.class within cf-acrobat.jar with the one attached to this bug report (or download it yourself from http://www.java2s.com/Code/Jar/p/Downloadpdftranscoderjar.htm) If you re-run your code you should see that the PDF text gets extracted as expected. Hope this helps! I'll be available to provide more info if needed.
Comment by External U.
5303 | November 18, 2015 12:24:06 PM GMT
Hi Dave, I have tried replicating this issue 3 times in the same configuration as yours. I am unable to do so. I didn't have to change the class at all for the expected results. Can you please try this on a different machine and see if you get the same issue?
Comment by Kailash B.
5304 | December 21, 2015 11:43:56 PM GMT
Closing this bug as unable to repro and no response from customer. Will reopen once someone responds and asks for reopening the case.
Comment by Kailash B.
5305 | August 09, 2016 04:11:58 AM GMT