PDFファイルからCGImageを取り出す

c macos pdf quartz-graphics

すべてのページが(LZW)TIFFファイルであるPDFファイルがあります。 作成したので、これを知っています。 ロードしてTIFFファイルの束として保存できるようにしたいです。

CGPDFDocumentCreateWithURLでPDFファイルを開き、ページを取得することができます。 ページを画面に描画することもできます。

CGBitmapContextCreateImageを使用して画像をCGImageRefに書き込めるように、ページをbitmapContextに描画します。 ただし、ビットマップコンテキストを作成するには、画像のサイズと解像度を知る必要があります。 CGPDFDocumentまたはCGPDFPageを取得してそのページの画像オブジェクトの解像度を通知する方法を見つけることができないようです。

私が認識していないことをこれを行うためのより簡単な方法はありますか?

ありがとう。

  0  0


ベストアンサー

http://pages.cs.wisc.edu/~ghost/[Ghostscript]はここであなたのために働きます:

2ページの文書foo.pdfの場合は、次のようになります。

  • foo-Page1.tif

  • foo-Page2.tif

メモリから、私はGSからの出力解像度が含まれているページのそれであると思います、必ずしも埋め込まれたファイルの解像度ではありません(これらが初めから同じでない限り)。

この場合、元の画像のままの状態で画像を復元したい場合は、 iText(java)またはhttp://itextsharp.sourceforgeを使用できます。 https://stackoverflow.com/questions/452667/how-can-i-tell-the-resolution-of-scanned-pdf-from-within-a-shell-script#にnet / [iTextSharp](.net) 453291 [画像へのアクセス]コンテンツストリーム(すなわち。 コンテンツストリームをPdfImage iircに変換した後、バイト単位で選択した形式でディスクに書き込みます。

ghostscriptオプションがもう一つのユーティリティを書くことを節約するために適切であることを願っています…​

1


タイトルとURLをコピーしました