11

重複の可能性:
HTML を .NET で PDF に変換する

私たちのアプリケーションでは、HTML ドキュメントをレポートおよびエクスポートとして作成します。しかし今、顧客はそのドキュメントを自分の PC に保存するボタンを求めています。問題は、ドキュメントに画像が含まれていることです。次のコードでワード文書を作成できます。

private void WriteWordDoc(string docName)
{
    Response.Buffer = true;
    Response.ContentType = "application/msword";
    Response.AddHeader("content-disposition", String.Format("attachment;filename={0}.doc", docName.Replace(" ", "_")));
    Response.Charset = "utf-8";
}

しかし、問題は、画像が単なるリンクであるため、Word ドキュメントに埋め込まれていないことです。

したがって、私は代替のPDFを探しています.C#の優れたpdfライターを知っている人はいますか?いくつかの良い参考文献があり、適切にテストされているものはありますか?

4

9 に答える 9

5

サーバー上に PDF ファイルを作成することを選択します。そうする製品はたくさんありますが、次の点を考慮して、自分のケースに最適な製品を調査する必要があります。

  • PDF の作成に必要なコンピューター リソース。複雑なドキュメントの場合、時間がかかりすぎたり、他のユーザーへの応答が遅くなったりする可能性があります。
  • この同じ機能を必要とする同時ユーザーの数
  • コスト (無料のソリューションと重量のある商用製品があります)。

PDFは将来的に読みやすくなるという保証を与えるので、私はそのためにWord形式に依存しません.

また、画像へのハードリンクを埋め込むオプションは、私には良い考えではないようです. ユーザーが文書を開こうとしたときに、サーバーにアクセスできない場合はどうすればよいでしょうか?

于 2009-02-26T09:55:01.230 に答える
4

もっと大きな問題があります...生成されたファイルを保存することは、ブラウザの特権です。コンテンツ タイプを設定した場合でも、ブラウザが特定のファイル ストリームをどのように処理するかは、完全にブラウザ次第です。あなたの最善の策は、おそらく ABCpdf のようなものを使用して HTML/画像を PDF に変換することです。私は彼らのソフトウェアでかなり運が良かったし、まともなサポートも受けている. もちろん、これはインストールする必要があるサードパーティのツールです。それを行わない場合、おそらく次善の策は、画像やその他のファイル (CSS、javascript?) を含む HTML の zip を作成することですが、これにはかなりのバックエンド ロジックが必要になります。

一部のブラウザには、この機能が組み込まれています。ユーザーにそれを使用するように依頼できます。:)

于 2009-02-26T09:57:33.440 に答える
3

オープン ソース pdf ストリーム生成 .net アセンブリ: http://sourceforge.net/projects/itextsharp/

一度コツをつかめば、サードパーティ #%$^# を使用したり、IO を実行してサーバーを詰まらせたり、一時ファイル用のスペースを占有したりすることはもうありません。

于 2010-06-16T18:48:30.457 に答える
2

ExpertPDFは、HTML を PDF (画像を含む) に変換する適切な仕事をします。内部的には、ホストされた IE のコピーを使用して、変換前に HTML をレンダリングします。つまり、このコンポーネントは Linux 上の Mono では動作せず、IE の癖は PDF の癖です。とはいえ、適度に複雑なレイアウトを適切にレンダリングし、CSS page-break-before などでページネーションを制御できます。

于 2009-11-11T01:11:00.723 に答える
2

私はDocRaptor.comで PDFを作成するのが好きです。どの言語でも動作する Web アプリであり、Prince XML を使用しているため、結果は高品質です。

于 2011-01-19T01:38:30.290 に答える
2

インターネット上の利用可能な場所への絶対リンクを画像に与える必要があります。

ドキュメントが Word に読み込まれたら、「HTML」ドキュメントを MSWord として保存すると、画像 (またはオプション?) が含まれるはずです。

于 2009-02-26T09:47:59.220 に答える
0

HTMLを文字列との間でPDFに変換するPDFDuo.Netコンポーネントをお試しください| ファイル| url | ストリーム。これは、ASP.NETアプリケーションで使用できる、小さいながらも非常に効果的なライブラリです。

そのページでASP.NETC#の例を見つけてください。

于 2009-08-06T08:22:41.067 に答える
0

私は同じ問題を抱えていましたが、最初は画像がなかったので、「画像のない」ドキュメントをエクスポートすることに決めたので、解決することはできませんでした。

ただし、問題を検索していると、XSLT を使用してドキュメントをエクスポートする方法についてのこの記事に出くわしました。私はまだそれに取り組む時間を見つけていませんが、多分あなたはそれを試してみることができます

于 2009-02-26T09:55:45.067 に答える
0

MS には、サーバー上でもクライアント上でも、WPF プログラミング モデルから簡単に生成できる新しいページ記述形式 "XPS" があります。ユーザーが XPS ドキュメントを表示および印刷できるようにする、PDF Reader などの XPS Reader アプリがあります。XPS ドキュメントを作成するための単純な API があります。

于 2009-02-26T10:13:46.520 に答える