以下を使用して ABCPDF の例を調べていました: ABC PDF の例
問題は、ドキュメントが常に物理ドライブに保存されることです。メモリ内に PDF ドキュメントを生成し、コンテンツの配置を使用してドキュメントをレンダリングする方法はありますか
ありがとうございました
以下を使用して ABCPDF の例を調べていました: ABC PDF の例
問題は、ドキュメントが常に物理ドライブに保存されることです。メモリ内に PDF ドキュメントを生成し、コンテンツの配置を使用してドキュメントをレンダリングする方法はありますか
ありがとうございました
Save()
関数は を受け取ることができるようですStream
。新規作成MemoryStream
し、そこに保存します。
http://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/save.htm
また、Attachment
をとりますStream
。
そう:
Attachment data = new Attachment(yourMemoryStream, MediaTypesNames.Application.Pdf);
ContentDisposition disposition = data.ContentDisposition;
Doc.GetData を使用して PDF をバイト配列として取得します。このタイプの生データが必要な場合、これは MemoryStream を使用するよりも効率的です。
GetData()
ABCPDFの関数を使用して、PDF をストリームに渡すことができます。次に、適切なヘッダー情報を使用してバイトをブラウザーに書き出します。
Dim pdfbytestream as Byte() = oPDF.GetData()
oPDF.Dispose() 'free up unused object
Dim myRandomID As String = Year(Now()).ToString + Month(Now()).ToString + Day(Now()).ToString + Hour(Now()).ToString + Minute(Now()).ToString + Second(Now()).ToString
'Write it out to the browser.
Response.ClearHeaders()
Response.ClearContent()
Response.ContentType = "application/pdf"
If pdfbytestream Is Nothing Then Response.AddHeader("content-length", 0) Else Response.AddHeader("content-length", pdfbytestream.Length.ToString())
Response.AddHeader("content-disposition", "inline; filename=" & myRandomID & ".pdf?" & Now.Millisecond)
Response.BinaryWrite(pdfbytestream)