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