API-SUMMARY
ドキュメントのなかに、Python Bindings for Quartz 2Dでは、次のような感じでラップされていると書かれています。*1
For example, in Quartz 2D the code to draw an image is:
CGContextDrawImage (ctx, rect, image);
Using Python, the code is:
ctx.drawImage (rect, image);
なるほどー。わかったような、わからないような・・・(笑)
「サンプルがあるので見てね」と書いてあるので、そいつを見た方が早いでしょう。場所は/Developer/Examples/Quartz/Python/になります。
ざっとみて10個くらいサンプルがありますが、PDFをJPEGに変換するサンプルは残念ながらありません(あったらそもそもこんな日記は書かない・・ )。おしいのが、
pict2pdf.py
で、PICTファイルをPDFに変換すると言う、逆の処理です(笑)。
ところで、API-SUMMARYというファイルがサンプルのディレクトリの中に入っています。これはそのものずばり、PythonでのQuartz2D APIのまとめで、このファイルの最初の方に重要なコメントがあります。
# Example:
# from CoreGraphics import *
#
# ctx = CGBitmapContextCreateWithColor (612, 792,
# CGColorSpaceCreateDeviceRGB (), (0, 0, 0, 0))
#
# pdf = CGPDFDocumentCreateWithProvider (
# CGDataProviderCreateWithFilename ("in.pdf"))
#
# ctx.drawPDFDocument (CGRectMake (0, 0, 612, 792), pdf, 1)
# ctx.writeToFile ("out.png", kCGImageFormatPNG)
やってることは、BitmapContextを作って、PDFを読み込んで、BitmapContextにdrawPdfDocumentしてあげて、最後にwriteToFileでPNG形式で書き出してます。これをベースにスクリプトを書いていけば良い感じです。最初からこいつを見ときゃ良かった・・というわけで、このスクリプトを手がかりに進めていきたいと思います。