适用于 .NET 的快速 PDF 压缩库

发布于 2024-07-29 13:35:12 字数 131 浏览 5 评论 0原文

我需要一个用于 .NET 的快速 PDF 压缩库,它允许我运行 10 个并发线程,每个线程将一个单独的 PDF 文件压缩到其原始大小的 10% 左右。 有什么建议么? (我已经尝试过 neeviaPDF.com 的产品。它没有我需要的那么快。)

I need a fast PDF Compression library for .NET that will allow me to run 10 concurrent threads each compressing a separate PDF file to around 10% of its original size. Any suggestions? (I have already tried out the product from neeviaPDF.com. It is not as fast as I need.)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

瘫痪情歌 2024-08-05 13:35:12

该公司的网站展示了三个示例 - 其中一个将 pdf 从 9.1mb 压缩到 133kb。 用记事本打开它们会显示一个 2500x3000 的大部分黑色图像,使用 FlateDecode 压缩,转换为使用 JPEG2000 压缩的相同大小的图像。 这种压缩比可能是最好的情况。 另外两个例子比较合理; 741kb 至 349kb 和 940kb 至 804kb。 它们还包括设置的屏幕截图; 所有三个示例中检查的一个都包含警告:“非常慢!!!” 不过,看起来是个好产品。 它做了所有正确的事情,包括网络优化。

原始文件的 10% 是不可能的,除非您提前知道 pdf 的内容、大量图像,并且您使用 iTextSharp 手动编写解决方案以利用 pdf 的组合方式。

如果您喜欢您所拥有的组件的工作方式,并且它不是线程安全的,为什么不直接用它创建 10 个单独的进程呢? 如果您有很多大图像,请小心内存不足错误。

The company's website shows three examples - one compresses a pdf from 9.1mb to 133kb. Opening them up with Notepad shows a single 2500x3000 mostly black image compressed with FlateDecode converted to the same size image compressed with JPEG2000. This kind of compression ratio is probably the best-case scenario. The other two examples are more reasonable; 741kb to 349kb and 940kb to 804kb. They also include a screenshot of the settings; one checked in all three examples contains a warning: "VERY SLOW!!!" Seems like a good product, though. It does all the right things, including web optimization.

10% of the original is unlikely unless your pdfs' contents are known ahead of time, heavy in images, and you handcode a solution using iTextSharp to take advantage of the way the pdfs are put together.

If you like the way the component you have works, and it is not thread safe, why not just create 10 separate processes with it? If you've got a lot of large images, be careful of out-of-memory errors.

寄与心 2024-08-05 13:35:12

尝试 Apago 的 PDFshrink。 它是一款商业产品,支持使用多核 CPU 进行 PDF 压缩。

Try Apago's PDFshrink. It's a commercial product and supports PDF compression using multi-core CPUs.

傲性难收 2024-08-05 13:35:12

Morovia 的 PDFLeo 能够将 PDF 压缩为小尺寸。 它采用两种主要技术——数据流压缩和对象流。 根据其手册

  • 删除未使用的对象。 未使用的对象将被丢弃。 如果是 PDF
    是通过增量更新产生的,很多对象是不需要的。
    增量更新是一种允许处理应用程序
    在文件末尾追加更改而不删除先前的对象
    定义。 该技术减少了内存使用,但代价是
    更大的文件大小。
  • 用紧凑的语法编写对象。 PDFLeo 写道
    使用紧凑语法输出 多余的空格被删除。
    十六进制字符串用更紧凑的二进制编写
    交涉。
  • 压缩流。 当指定时,pdfleo 会压缩
    除了那些必须保持完整的溪流之外的所有溪流。
  • 对象流。 非
    流对象可以放入特殊的对象流中
    压缩的。

Morovia's PDFLeo is capable of compressing PDF into small size. It employs two major techniques - data stream compression and object streams. According to its manual:

  • Removing unused objects. Unused objects will be discarded. If a PDF
    is produced through incremental update, many objects are not needed.
    Incremental update is a feature to allow a processing application to
    append changes at the file end without removing prior object
    definitions. This technique reduces the memory usage at the cost of
    bigger file size.
  • Writing objects in a compact syntax. PDFLeo writes
    output using compact syntax Extra white spaces are removed.
    Hexadecimal strings are written with more compact binary
    representations.
  • Compressed streams. When specified, pdfleo compresses
    all streams except those who must be kept intact.
  • Object streams. Non
    stream objects can be placed into a special object stream and
    compressed.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文