C# 使用ABCPDF在内存中生成文档,而不是保存在物理驱动器上

C# 使用ABCPDF在内存中生成文档,而不是保存在物理驱动器上,c#,pdf-generation,abcpdf,C#,Pdf Generation,Abcpdf,我正在研究ABCPDF的示例,使用: 问题是:它总是将文档保存在物理驱动器上。有没有办法在内存中生成PDF文档并使用内容配置来呈现文档 谢谢看起来Save()函数能够获取流。创建一个新的MemoryStream,并将其保存到该文件中 另外,附件采用流 因此: 看起来Save()函数能够获取流。创建一个新的MemoryStream,并将其保存到该文件中 另外,附件采用流 因此: 使用Doc.GetData以字节数组的形式获取PDF。如果您需要这种类型的原始数据,那么这将比使用MemorySt

我正在研究ABCPDF的示例,使用:

问题是:它总是将文档保存在物理驱动器上。有没有办法在内存中生成PDF文档并使用内容配置来呈现文档

谢谢

看起来
Save()
函数能够获取
。创建一个新的
MemoryStream
,并将其保存到该文件中

另外,
附件
采用

因此:

看起来
Save()
函数能够获取
流。创建一个新的
MemoryStream
,并将其保存到该文件中

另外,
附件
采用

因此:


使用Doc.GetData以字节数组的形式获取PDF。如果您需要这种类型的原始数据,那么这将比使用MemoryStream更有效。

使用Doc.GetData以字节数组的形式获取PDF。如果您需要这种类型的原始数据,那么这将比使用MemoryStream更有效。

您可以使用ABCPDF中的
GetData()
函数将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)

您可以使用ABCPDF中的
GetData()
函数将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)

将写操作保存到流,那么为什么不保存到memorystream?将写操作保存到流,那么为什么不保存到memorystream?