在 PDFSharp 中渲染大位图并最小化内存占用
因此,我需要从我的网络应用程序中以高达 300 DPI 的速度将大幅面纸张尺寸(33 x 44 英寸)导出为 PDF。我目前使用 PDFSharp 可以很好地处理 8.5 x 11 和 11 x 17 的纸张。这些页面主要包含图像数据,减去一些边距和少量文本;也就是说,这个 PDF 页面中没有太多矢量。
我遇到的大格式问题是这样的:300 DPI、每像素位深度为 32 位的 33 x 44 英寸纸张为 522,720,000 字节 - 几乎半千兆字节。我的网络应用程序中不能有这种内存消耗。
有没有什么可能的方法可以让我以图块或块的形式呈现 PDF,以避免需要将整个块一次性保存在内存中? PDFSharp 中是否有任何功能可以帮助我?
So, I have a need to export large-format paper sizes (33 x 44 inches) at up to 300 DPI from my web app as PDF. I'm currently handling 8.5 x 11 and 11 x 17 sheets just fine using PDFSharp. These pages contain mostly image data, minus some margins and a small amount of text; i.e. not much is vector inside this PDF page.
The problem I'm encountering for the large formats is this: a 33 x 44 inch sheet at 300 DPI with a bit depth of 32 bits per pixel is 522,720,000 bytes - almost half a gigabyte. I can't have this kind of memory consumption in my web app.
Is there any possible way that I can render the PDF in tiles or chunks to avoid needing to have this entire block in memory at one time? Is there any functionality in PDFSharp that can help me here?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
PDFSHARP旨在将所有内容保持在内存中,因此PDF文件最终可以很快写入。
目前(在可预见的将来)无法处理不适合内存的图像数据。
PDFsharp was designed to keep everything in memory, so the PDF file can finally be written very fast.
Currently (and in the foreseeable future) there is no way to handle image data that does not fit into memory.