[Pythonmac-SIG] Python CoreGraphics script running in Applescript
Jim Skibbie
jskibbie at schawk.com
Fri Jan 30 21:24:41 CET 2009
I have a script that needs to get the height and width dimensions of the
media box of a PDF using Applescript. In OS X 10.4, I was using the
following:
> set shellScript to "python " & quoted form of PythonPath & " " & POSIXThisFile
> set dims to every paragraph of (do shell script shellScript)
The PythonPath is a path to the below Python script and the POSIXThisFile is
the path to the PDF.
The response is two paragraphs where paragraph 1 is the width and paragraph
2 is the height.
Here¹s the python script:
# 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_width = int(page_rect.getWidth())
page_height = int(page_rect.getHeight())
print "%d \r\n%d" % (page_width, page_height)
Under OS 10.5, this script now uses a deprecated function of CoreGraphics
and I get an error that says:
> <Error>: The function `CGPDFDocumentGetMediaBox' is obsolete and will be
> removed in an upcoming update. Unfortunately, this application, or a library
> it uses, is using this obsolete function, and is thereby contributing to an
> overall degradation of system performance. Please use `CGPDFPageGetBoxRect'
> instead.
Can anyone steer me in the right direction on how to work with the
CGPDFPageGetBoxRect function?
Thanks.
Jim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pythonmac-sig/attachments/20090130/d641300e/attachment.htm>
More information about the Pythonmac-SIG
mailing list