PDFから画像を作ったり

PDF自体を作る場合はiTextSharpとかを使えば良いんですけど、PDFから画像を作りたいと思って(・∀・)
適当なライブラリを探してみたところ、商用ライブラリはいくつかあるみたいですけど。


とりあえずAcrobatを使った方法を試してみたり。
やりかたはこの辺から。
http://www.codeproject.com/dotnet/pdfthumbnail.asp

Acrobat.CAcroPDDoc doc = null;
Acrobat.CAcroPDPage page = null;
Acrobat.CAcroRect rect = null;

try
{
    doc = (Acrobat.CAcroPDDoc)new Acrobat.AcroPDDocClass();

    if ( doc.Open( pdffile ) )
    {
        page = (Acrobat.CAcroPDPage)doc.AcquirePage( 0 );

        Acrobat.AcroPoint pt = (Acrobat.AcroPoint)page.GetSize();
        rect = new Acrobat.AcroRectClass();
        rect.Top = 0;
        rect.Left = 0;
        rect.right = pt.x;
        rect.bottom = pt.y;

        page.CopyToClipboard( rect, 0, 0, 100 );

        IDataObject data = Clipboard.GetDataObject();
        Bitmap bmp = (System.Drawing.Bitmap)data.GetData( DataFormats.Bitmap );

        bmp.Save( imgfile, ImageFormat.Jpeg );
    }
}
finally
{
    if ( rect != null ) Marshal.ReleaseComObject( rect );
    if ( page != null ) Marshal.ReleaseComObject( page );
    if ( doc != null ) Marshal.ReleaseComObject( doc );
}

Clipboard経由というのがアレな感じですが(´Д`)


最初この処理をバックグラウンドスレッドでやっていて、Clipboardがうまく扱えないなぁ〜とか思ったりして。
ああ、STAスレッドにしないとダメね(´ω`)