11

Webフォームページコードの背後にある

        XSettings.InstallRedistributionLicense("REDACTED");
        var theDoc = new Doc();
        theDoc.HtmlOptions.Engine = EngineType.Gecko;
        theDoc.Rect.Inset(72, 144);
        theDoc.Page = theDoc.AddPage();
        int theID = theDoc.AddImageUrl("http://www.woot.com/");
        while (true)
        {
            theDoc.FrameRect(); // add a black border
            if (!theDoc.Chainable(theID))
                break;
            theDoc.Page = theDoc.AddPage();
            theID = theDoc.AddImageToChain(theID);
        }
        for (int i = 1; i <= theDoc.PageCount; i++)
        {
            theDoc.PageNumber = i;
            theDoc.Flatten();
        }
        Response.Buffer = false;
        Response.AddHeader("Content-Disposition", "inline; filename=\"rept.pdf\"");
        Response.ContentType = "application/pdf";
        theDoc.Save(Response.OutputStream);
        Response.Flush();

かなりうまくいくはずです..しかし、

      Failed to add HTML: RPC to Gecko engine process failed.Remote process terminated unexpectedly.

完全な信頼を実行すると、binフォルダーにあります

  • XULRunnerフォルダーとC:\ Program Files(x86)\ WebSupergoo \ ABCpdf .NET 9.0\ABCGeckoのすべて
  • ABCGecko.dll
  • ABCpdf.dll
  • ABCpdf9-32.dll

このプロジェクトフォルダ内のすべてのファイルをパッケージ化/公開

4

2 に答える 2

7

共有インフラストラクチャにリスクをもたらすため、WindowsAzureWebサイト内から外部プロセスを実行することは許可されていません。

MSFTの従業員によるこの投稿または同じ従業員がネイティブAPIに関連する他の制限について話している投稿を参照してください。

ドキュメントにHTMLイメージを追加しないことで、問題が外部で起動されたGeckoに関連していることを確認できます。私にとって、PDFの作成はさらに進みましたが、ライセンスがないために失敗しました。

フルマネージド/.NETHTMLレンダリングエンジンを見つける必要があるようです(WebサイトをPDFに変換する場合)、または予約モードのWebサイトがネイティブ/外部プロセスを実行する権利を取得することを期待します。

于 2012-12-04T23:16:28.843 に答える
2

ここに完全なABCpdfAzureデプロイメントガイドがあります。

http://www.websupergoo.com/support-azure-abcpdf.htm

于 2014-03-06T17:24:23.000 に答える