web-dev-qa-db-ja.com

itextSharpを使用してPDFページを画像に変換することは可能ですか?

こんにちは私はdot.netのすべてのpdf関連プロジェクトにitexSharpを使用しています。 PDFページを画像に変換する必要があるという要件に遭遇しました。そのようなもののサンプルは見つかりませんでした。別のツールghostscriptで問題が発生することがわかりました。私は共有ホスティングを使用していますが、ローカルマシンのようにghostscriptがサーバー上で実行されるとは思いません。共有ホスティングでは不可能なsystem32フォルダーにゴーストスクリプトdllを手動でコピーする必要がありました。

8
Max

さて、あちこち検索して、Ghost Scriptのnugetパッケージがあることがわかったので、パッケージマネージャーコンソールに移動し、新しいプロジェクトにGhostスクリプトを追加することで問題を解決しました(古いプロジェクトにはすべての種類があるため、新しいプロジェクトを作成しました「PM> Install-PackageGhostscript.NET」によるwin32ghostscript dllへの参照)。したがって、私の質問に対する答えは次のとおりです。1。> itextSharp cannot直接変換PDFページを画像に変換します。2。> "Ghostscript.NET1.2.0"が実行します非常に簡単です。以下はコード例です。

    public void LoadImage(string InputPDFFile,int PageNumber)
    {

        string outImageName = Path.GetFileNameWithoutExtension(InputPDFFile);
        outImageName = outImageName+"_"+PageNumber.ToString() + "_.png";


        GhostscriptPngDevice dev = new GhostscriptPngDevice(GhostscriptPngDeviceType.Png256);
        dev.GraphicsAlphaBits = GhostscriptImageDeviceAlphaBits.V_4;
        dev.TextAlphaBits = GhostscriptImageDeviceAlphaBits.V_4;
        dev.ResolutionXY = new GhostscriptImageDeviceResolution(290, 290);
        dev.InputFiles.Add(InputPDFFile);
        dev.Pdf.FirstPage = PageNumber;
        dev.Pdf.LastPage = PageNumber;
        dev.CustomSwitches.Add("-dDOINTERPOLATE");
        dev.OutputPath = Server.MapPath(@"~/tempImages/" + outImageName);
        dev.Process();

    }
13
Max