使用 itextsharp 获取 PDF 页面的缩略图

Posted

技术标签:

【中文标题】使用 itextsharp 获取 PDF 页面的缩略图【英文标题】:Get thumbnail of PDF page using itextsharp 【发布时间】:2011-09-07 12:00:27 【问题描述】:

使用 itextsharp,如何获取页面的缩略图并显示在图片框中。 网上有数百个使用 iTextsharp 的示例,但其中 99% 是如何创建和操作 PDF 而不仅仅是阅读 PDF。

// pdfFileName is the file Name
PdfReader reader = new PdfReader(pdfFileName);
for (int i = 1; i <= reader.NumberOfPages; i++)
  
// I need something like PdfPage here

有人可以建议如何做到这一点吗?我查看了 itext 文档,不知道从哪里开始并获得 PDF Page ,我以为我需要 PdfImageObject 但如何到达那里...

提前谢谢..

【问题讨论】:

【参考方案1】:

不幸的是,iText 和 iTextSharp 只是 PDF 生成器,而您正在寻找的实际上是 PDF 渲染器。根据 iText 的创建者 Bruno Lowagie 在recent blog post 中的说法,他们也没有计划在短期内这样做。

PDF Clown 仍处于非常早期的 alpha 阶段,有一个 blog post(参见第 3 点)说明他们有一个部分渲染器正在工作,所以我建议您查看它。

否则,请查看这些关于将 PDF 转换为 JPG 的 SO 帖子:

https://***.com/questions/711942/convert-pdf-file-to-jpg-asp-net Converting a multiple-page PDF to a single image

您正在查看的 PdfImageObject 对象用于创建一个“类似图像”的对象,该对象表示可以嵌入到 PDF 中的一段原始 PDF 内容,但没有创建光栅图像的方法,例如JPG 或 BMP,所以它不会帮助你。但如果您对此感到好奇,请参阅this post。

【讨论】:

你能给我使用 PDF Clown 将 pdf 页面转换为图像的示例代码吗?实际上我下载了pdf小丑lib项目。如何添加引用lib项目的可执行解决方案... 对不起@Saravanan,我从来没有真正使用过PDF Clown,我只听过其他人在谈论它 没关系...谢谢您的回复... :-)【参考方案2】:

检查此链接以提取图像...Extract images using iTextSharp 我已经修改了这段代码来提取一个表格(表格是数据)所以我想你可以通过一些工作来提取你想要的:)

【讨论】:

以上是关于使用 itextsharp 获取 PDF 页面的缩略图的主要内容,如果未能解决你的问题,请参考以下文章

使用 iTextSharp 将多个页面添加到 pdf 表单

如何使用 iTextSharp 为横向生成的页面添加页脚到 PDF 文档

iTextSharp Pdf 页面导入内存问题

无法使用JavaScript从iTextSharp访问PDF文档页面/事件

使用itextsharp将单独签名的哈希放置到PDF中的多个位置

使用 iTextSharp HTMLWorker (html to pdf) 在 HTML 中设置新页面