4

Pechkin Synchronized (WkHtmlToPDF) を使用して HTML 文字列を PDF に変換しようとしています。1 つの (取り決めを破る) 部分を除いて、すべてが完全に機能します。

HTML 文字列の一部として、動的に生成された PNG ファイルを SSL 経由で参照する Image タグがあります (コードについては以下を参照)。出力pdfに空白のボックスとして表示されます。

ドキュメントを確認し、考えられるすべてのオプションをオンにして、WkHtmlToPDF への参照が PNG 形式をサポートし、SSL 化されたソースからデータをプルできることを確認しました。

byte[] pdf = new Pechkin.Synchronized.SynchronizedPechkin(
new Pechkin.GlobalConfig()).Convert(
    new Pechkin.ObjectConfig()
   .SetLoadImages(true)
   .SetPrintBackground(true)
   .SetScreenMediaType(true)
   .SetCreateExternalLinks(true), html);

using (FileStream file = System.IO.File.Create(@"C:\TEMP\Output.pdf"))
{
    file.Write(pdf, 0, pdf.Length);
}

「見つからない」画像を参照する関連 HTML

<img width="385" src="https://www.somehost.com/path/endpoint?type=somedata&amp;height=140&amp;width=2&amp;data=000000000000000000">

また、 & を & だけに変換して、それがそのように役立つかどうかを確認しようとしましたが、残念ながらそうではありませんでした:

<img width="385" src="https://www.somehost.com/path/endpoint?type=somedata&height=140&width=2&data=000000000000000000">

ブラウザーからリンクを直接クリックしてフィドラー レポートを調べると、コンテンツの長さは 1136、コンテンツの種類は image/png で、ヘッダーには WebSphere とサーブレットも記載されています。

ライブラリの所有者からのさらなるテストとヘルプの後、SSL は問題ではなく、拡張機能の欠如のようです。

4

3 に答える 3

3

PDF に表示されない HTTPS URL を持つ画像に関する私の問題は、Pechkin を次のフォークに置き換えることで解決されました。

https://github.com/tuespetre/TuesPechkin

交換は非常に簡単で、使用方法も次のとおりです。

        using TuesPechkin;
        ...            

        string html = "<img src=\"https://www.google.com/images/srpr/logo11w.png\" alt=\"Google logo\" />";
        IPechkin converter = Factory.Create();
        byte[] bytes = converter.Convert(html);
于 2014-11-18T11:41:40.123 に答える
0

私もこの問題を抱えていました (HTTPS の下の画像は PDF 内でレンダリングされません)。解決策は、Web サーバーに OpenSSL をダウンロードしてインストールすることです。

ここでは、Windows 用の OpenSSL ディストリビューションを見つけることができます: http://www.openssl.org/related/binaries.html

だから、私はこれをインストールして動作しました:http://slproweb.com/download/Win32OpenSSL_Light-1_0_1e.exe

Pechkin でいくつかの問題が発生したため、ブログに記事を書きました

于 2013-09-13T13:42:28.340 に答える