我能够使用Ned Batchelder's python code(我转换为C++)从pdf文件中提取jpgs。我想知道是否可以使用相同的技术来提取tiff文件,如果有,是否有人知道适当的偏移量和标记以找到它们? 谢谢, 大卫是否可以从没有外部库的PDF文件中提取tiff文件?
回答
PDF文件存储为JPEG格式JPEG文件的实际(DCT和JPX编码),所以在大多数情况下,你可以从撕裂的数据。使用Tiffs,您正在查找CCITT数据(但您需要为数据添加标题以使其成为Tiff)。我在PDF文件中写了2篇关于图像的博客文章,分别是http://www.jpedal.org/PDFblog/2010/09/understanding-the-pdf-file-format-images/和http://www.jpedal.org/PDFblog/2011/07/extract-raw-jpeg-images-from-a-pdf-file/,这可能有所帮助。
PDF文件可能包含不同的图像数据(不奇怪)。
最常见的情况是:
- 传真数据(CCITT组3和4)
- 与解码参数和可选的调色板中的所有压缩以DEFLATE或LZW压缩
- JPEG数据 原始光栅数据
最近,我(作为PDF库的开发人员)开始注意到越来越多的带有JBIG2图像数据的PDF。另外,JPEG2000有时可以放入PDF中。
我应该说,你可能可以提取JPEG/JBIG2/JPEG2000数据转换成对应*.jpeg
/*.jp2
/*.jpx
文件,而无需外部库,但各种以破发电机发出怪异的PDF文件的准备。另外,PDF经常使用对象流,因此您需要为PDF实现复杂的解析器。
传真数据(即您可能称之为TIFF)应至少包装到有效的TIFF中。例如,你可以借用一些来自开源libtiff的代码。
然后是原始栅格数据。我不认为在没有图书馆的帮助下尝试提取这些数据是有意义的。当然,你可以这样做,但需要数月的时间。因此,如果您尝试仅从一组PDF中提取特定类型的图像数据,而这些数据都是使用相同的生成器创建的,那么您的任务可能是可行的。在其他所有情况下,我会建议节省时间,金钱和头发,并使用图书馆来完成任务。
我更愿意使用一个库,但是我一直无法找到一个适用于Windows和Mac的价格合理的免版税库。 – David
- 1. 是否可以索引从外部.txt文件中提取的字符串?
- 2. 是否有一个C++库从PDF文件(如PDFBox for Java)中提取文本?
- 3. 是否可以使用Perl读取pdf文件中的文本?
- 4. 我可以从外部文件中提取html内容吗?
- 5. 是否有工具从git提交文件中提取文件
- 6. 是否可以将PDF文件作为txt文件读取?
- 7. 从pdf文件中提取文本
- 8. 从pdf文件中提取文本
- 9. 从PDF文件中提取文本
- 10. 从PDF文件中提取文本
- 11. 可以从外部xml文件读取web.config文件吗?
- 12. 没有jar文件的外部库
- 13. 从外部库提供静态文件
- 14. 外部JavaScript文件提取?
- 15. 是否可以从外部文件控制流光?
- 16. 是否可以从外部JavaScript文件调用Razor @function?
- 17. 是否可以将所有图标链接到外部文件?
- 18. ,是否可以从项目文件夹外部添加View文件夹?
- 19. 是否可以提取PDF中用户选择的文本?
- 20. 是否可以从XML文件提供数据库表?
- 21. 外部jar是否可以访问项目文件夹中的文件
- 22. 是否有可能从chrome到外部sqlite3文件?
- 23. 从webpack中没有npm的外部lib文件夹加载库
- 24. 是否可以使用PHP从PDF文件中删除密码?
- 25. 是否可以在IPA中定义外部配置文件?
- 26. 是否可以在XNA中加载外部XML文件?
- 27. 是否可以在Rails迁移中使用外部SQL文件?
- 28. 是否可以从内部存储器(Android)读取文件?
- 29. 是否可以将外部路由文件包含到主routes.rb文件中?
- 30. 从PDF文件中提取页码
谢谢,马克---我看过那些文章---我只是希望有人已经用一个简单的例子,像我在python中找到jpg示例一样完成了艰苦的工作。 – David