2

映画のHTMLカタログを作成し、それをPDFに変換しています。私はEO.Pdfを使用していましたが、それは私の小さなテストサンプルで機能しました。ただし、映画のリスト全体に対して実行すると、結果のHTMLファイルは約8000行、7MBになります。変換しようとすると、EO.Pdfがタイムアウトします。HTML全体をコピーしてオンラインデモに貼り付けることができ、機能するため、これは無料バージョンの制限だと思います。

代わりの方法を探しています。コマンドラインや外部プログラムの実行が苦手なので、.NETライブラリに追加して簡単に使用できるものがいいと思います。EO.Pdfの使用は簡単だったことを認めます。ライブラリにdllを追加し、名前を追加すると、HTMLコードまたはHTMLファイルをPDFに変換するのに1行のコードが必要でした。私が遭遇した欠点は、すべてのページにWebサイトが付いたスタンプ(16ptフォント)が付いていることでした。また、私の画像の半分を取得しませんでした。理由はわかりません。HTMLファイルで画像への相対URLを使用し、HTMLファイルと同じディレクトリにPDFを作成しました。

PDFでレイアウトを作り直したくないので、iTextSharpのようなものが出ていると思います。wkhtmltopdfのようなものやそのような奇妙なものについて少し読んだことがあります。良さそうに聞こえましたが、ラッパーが必要でした。それを実現する方法や使用する方法がわかりません。

使い方の基本的な説明を添えて提案をいただければ幸いです。ライブラリとその使用方法に関する数行のいずれか。または、wkhtmltopdfのセットアップ/使用方法を教えていただければ、非常にすばらしいと思います。

前もって感謝します!

4

3 に答える 3

3

私は wkhtmltopdf を使用していますが、とても満足しています。それを使用する1つの方法:

Process p = new Process();
p.StartInfo.CreateNoWindow = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "wkhtmltopdf.exe";
p.StartInfo.Arguments = "-O landscape <<URL>> -";
p.Start();

そして、ストリームを取得できます:

p.StandardOutput.BaseStream

ストリームが必要だったので、これを使用しました。もちろん、別の方法で呼び出すこともできます。


wkhtmltopdf の呼び出しに関する議論もここにあります


誰かがwkhtmltopdf の c# ラッパーを実装していることを見ました。私はそれをテストしていませんが、一見の価値があるかもしれません。

于 2011-07-13T08:16:26.713 に答える
2

多くの検索の後、HiQPdf を使用することにしました。使い方は簡単で、私のニーズには十分な速さで、価格も私には受け入れられるものでした。

var converter = new HiQPdf.HtmlToPdf();
converter.Document.PageSize = PdfPageSize.Letter;
converter.Document.PageOrientation = PdfPageOrientation.Portrait;
converter.Document.Margins = new PdfMargins(15); // Unit = Points               
converter.ConvertHtmlToFile(htmlText, null, fileName);

3ページまで保存できるなら無料版もあります。 http://www.hiqpdf.com/free-html-to-pdf-converter.aspx

いいえ、私は決して彼らと提携していません。

于 2016-09-06T17:12:47.333 に答える
0

ExpertPdf をお勧めします。

ExpertPdf Html To Pdf Converterは非常に使いやすく、最新の html5/css3 をサポートしています。URL 全体を pdf に変換することもできます。

using ExpertPdf.HtmlToPdf; 
byte[] pdfBytes = new PdfConverter().GetPdfBytesFromUrl(url);

または html 文字列:

using ExpertPdf.HtmlToPdf; 
byte[] pdfBytes = new PdfConverter().GetPdfBytesFromHtmlString(html, baseUrl);

生成された pdf ドキュメントをディスク上のファイルのストリームに直接保存する代替手段もあります。

于 2014-11-14T14:31:23.620 に答える