0

ユーザーがPDFをダウンロードしたり(大きなドキュメント)、PDFリーダーをインストールして構成したりする必要がないように(オーディエンスは技術に精通していません)、サーバー上でPDFをレンダリングするためのオプションを検討しています。Google ViewerとScribdは良い例ですが、PDFをWebで利用できるようにしたり(Googleの場合)、他のパーティのサーバーに保存したりすることには興味がありません(Scribd)。

今のところ私のお気に入りはFlexPaperPDFWebViewer.NETですが、他のオプションがないかどうかを確認したかったのです。このトピックに関連するSOの質問のほとんどはやや古くなっているので、何か新しいことがあるでしょうか。

チェックアウトする他のオプションはありますか?

4

6 に答える 6

2

アタラソフトを試す( $$)

于 2010-06-22T22:22:48.353 に答える
1

サーバー上でPDFをレンダリングすることは、あまりスケーラブルなアプローチではありません。小規模なワークグループの場合はそれを行うことができますが、大規模なグループの場合は、多くのハードウェアと帯域幅が必要になります。PDFのセクションを返すことは、そのためのフォーマットが作成されているため、はるかに簡単です。iTextSharp が役立つと思います。

于 2010-06-22T23:09:44.967 に答える
1

Aspose.Pdf.Kit for .NETを使用して PDF ページを画像に変換し、任意の画像コントロールを使用してそれらの画像を表示できます。Windows フォームまたは Web フォームのいずれかで使用できます。また、プログラマーズ ガイド、技術記事、ビデオ、およびデモを使用して完全なヘルプを取得することもできます。フォーラムで技術的な質問をすることもできます。

私は Aspose.Pdf.Kit チームのメンバーです。

于 2010-06-23T07:15:23.783 に答える
1

これがあります

少しごちゃごちゃしていますが、無料で、そのようなものが好きなら手を汚すことができます.

于 2010-06-22T21:34:09.527 に答える
1

RAD PDFを試す($$)

于 2010-08-17T18:11:51.353 に答える
0

この目的でASP.NetReportViewerコントロールを使用できる場合があります。通常、そのコントロールはPDFへのエクスポートに使用されますが、これによれば、既存のPDFファイルをReportViewerに表示できます。

ReportViewer.LocalReport.Render()を呼び出し、フォーマットに「PDF」を指定することにより、PDFにレンダリングできます。次に、このバイトストリームをアプリケーションで任意の方法で使用できます。

これがその議論からのコードです。コメントには、他にも役立つ情報が含まれている場合があります。

Dim warnings As  Warning() = Nothing
Dim streamids As String() = Nothing
Dim mimeType As String = Nothing
Dim encoding As String = Nothing
Dim extension As String = Nothing
Dim bytes As Byte()

'Get folder on web server from web.config
Dim FolderLocation As String
FolderLocation = System.Configuration.ConfigurationManager.AppSettings("ReportOutputPath")

'First delete existing file
Dim filepath As String = FolderLocation & "PCSummary.PDF"
File.Delete(filepath)

'Then create new pdf file
bytes = ReportViewer1.LocalReport.Render("PDF", Nothing, mimeType, _
    encoding, extension, streamids, warnings)

Dim fs As New FileStream(FolderLocation & "PCSummary.PDF", FileMode.Create)
fs.Write(bytes, 0, bytes.Length)
fs.Close()
于 2010-06-22T20:24:55.423 に答える