I have a python script that takes a PDF file and returns the width and height
of the document's first page. When I moved this to Snow Leopard, I have to run
this in 32-bit mode or I can an error:
File
"/BinaryCache/CoreGraphicsBindings/CoreGraphicsBindings-26~139/Root/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/CoreGraphics/__init__.py",
line 7, in <module>
ImportError:
/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/CoreGraphics/_CoreGraphics.so:
no appropriate 64-bit architecture
Googling around, I find that CoreGraphics is no longer bound to python in Snow
Leopard and that it will eventually need to be converted to PyObjC.
Can anyone point me in a direction on where I might find some information on
how to do this kind of porting?
The existing script is below:
# step 1: import the required modules
import os, sys
from CoreGraphics import *
if len( sys.argv ) != 2:
print "ERROR: useage: python example2.py pdf_filename"
sys.exit(1)
# step 2: read the pdf file name from the command line arguments
pdf_filename = sys.argv[1]
pdf_name, ext = os.path.splitext( pdf_filename )
# step 3: create the input PDF document
provider = CGDataProviderCreateWithFilename( pdf_filename )
pdf = CGPDFDocumentCreateWithProvider( provider )
if pdf is None:
print "ERROR reading PDF document - \r\n check that the supplied
filename points to a PDF file"
sys.exit(1)
page_number = 1
#page_rect = pdf.getMediaBox( page_number )
page_rect = pdf.getPage(page_number).getBoxRect(page_number)
page_width = float(page_rect.getWidth())
page_height = float(page_rect.getHeight())
print "%f\r\n%f" % (page_width, page_height)
Thanks.
Jim
_______________________________________________
Pythonmac-SIG maillist - [email protected]
http://mail.python.org/mailman/listinfo/pythonmac-sig
unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG