如何在不创建(或保存)文件的情况下将 PDF 文档生成为内存中的字节数据(或二进制)?
How to generate PDF Document into bytes data (or binary) in memory without creating (or saving) file?
我是 PDF Clown 的新手,查看其发行版中包含的示例,我注意到他们使用 file = new org.pdfclown.files.File(path)
创建新的 PDF 文件,然后 file.Save(anotherPath)
将它们保存到文件系统,但我找不到任何示例可以让我生成 PDF 文档并将它们保存到字节数组中以存储在 RAM 内存中。
基本上我们所做的是将客户的输入数据传递到 PDF 文档,在内存中生成,然后将其附加到电子邮件或保存到数据库,而不需要中间磁盘存储。
这是将文件保存到内存流 (C#) 的正确方法:
org.pdfclown.files.file = . . .;
. . .
var targetStream = new System.IO.MemoryStream();
file.Save(new org.pdfclown.bytes.Stream(targetStream), SerializationModeEnum.Standard);
在接下来的几天里,我将为项目的 repository(版本 0.1.2.1 或更高版本)提交一个简化的重载,因此您可以这样做:
var targetStream = new System.IO.MemoryStream();
file.Save(targetStream, SerializationModeEnum.Standard);
为什么我们在以前的 Save
方法中使用了 org.pdfclown.bytes.Stream
包装器?因为,由于 PDF Clown 在多个平台(Java、.NET)中实现,它需要一个抽象的通用接口来一致地处理 I/O 并简化跨这些平台的代码开发和维护。
PS:如果您对PDF小丑的最新消息感兴趣,不要错过订阅its twitter stream!
我是 PDF Clown 的新手,查看其发行版中包含的示例,我注意到他们使用 file = new org.pdfclown.files.File(path)
创建新的 PDF 文件,然后 file.Save(anotherPath)
将它们保存到文件系统,但我找不到任何示例可以让我生成 PDF 文档并将它们保存到字节数组中以存储在 RAM 内存中。
基本上我们所做的是将客户的输入数据传递到 PDF 文档,在内存中生成,然后将其附加到电子邮件或保存到数据库,而不需要中间磁盘存储。
这是将文件保存到内存流 (C#) 的正确方法:
org.pdfclown.files.file = . . .;
. . .
var targetStream = new System.IO.MemoryStream();
file.Save(new org.pdfclown.bytes.Stream(targetStream), SerializationModeEnum.Standard);
在接下来的几天里,我将为项目的 repository(版本 0.1.2.1 或更高版本)提交一个简化的重载,因此您可以这样做:
var targetStream = new System.IO.MemoryStream();
file.Save(targetStream, SerializationModeEnum.Standard);
为什么我们在以前的 Save
方法中使用了 org.pdfclown.bytes.Stream
包装器?因为,由于 PDF Clown 在多个平台(Java、.NET)中实现,它需要一个抽象的通用接口来一致地处理 I/O 并简化跨这些平台的代码开发和维护。
PS:如果您对PDF小丑的最新消息感兴趣,不要错过订阅its twitter stream!