javax.imageio.ImageIO; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.rendering.PDFRenderer workspace-springboot\\1.pdf"); doc = PDDocument.load(stream); // 渲染 PDFRenderer pdfRenderer = new PDFRenderer(doc); BufferedImage bufferedImage = pdfRenderer.renderImageWithDPI (0, 300); pdfRenderer = null; // 写入 JPG 文件 baos = new ByteArrayOutputStream
lombok.extern.slf4j.Slf4j; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.rendering.PDFRenderer PDDocument document=null; try{ document = PDDocument.load(fileContent); PDFRenderer pdfRenderer = new PDFRenderer(document); for (int i = 0; i < document.getNumberOfPages() ; i++) { BufferedImage bufferedImage = pdfRenderer.renderImageWithDPI(i, DPI); pdfRenderer = new PDFRenderer(document); BufferedImage bufferedImage = pdfRenderer.renderImageWithDPI
android.arch.lifecycle.MutableLiveData; import android.graphics.Bitmap; import android.graphics.pdf.PdfRenderer private final Executor mExecutor; private ParcelFileDescriptor mFileDescriptor; private PdfRenderer mPdfRenderer; private PdfRenderer.Page mCurrentPage; private boolean mCleared; public File } } catch (IOException e) { Log.e(TAG, "Failed to open PdfRenderer = null) { mPdfRenderer = new PdfRenderer(mFileDescriptor); } } @WorkerThread
加载pdf文件,并进行相关的处理操作,PdfRenderer的常用方法说明如下: 构造函数:从ParcelFileDescriptor对象构造一个PdfRenderer实例。 openPage:打开PDF文件的指定页面,该方法返回一个PdfRenderer.Page对象。 close:关闭PDF文件。 从上面列出的方法看到,PdfRenderer只是提供了对整个PDF文件的管理操作,具体页面的处理比如渲染得由PdfRenderer.Page对象来完成,下面是Page的常用方法说明: getIndex: 总而言之,PdfRenderer的作用就是把一个pdf文件转换为若干个图片,然后开发者可将这些图片展示到手机屏幕上。下面是使用PdfRenderer读取并显示pdf文件的效果图: ? pdfRenderer = new PdfRenderer(fd); for (int i=0; i<pdfRenderer.getPageCount(); i++) { String
org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.rendering.ImageType; import org.apache.pdfbox.rendering.PDFRenderer cachePath) { try { PDDocument pd = PDDocument.load(new File(filePath)); PDFRenderer pdfRenderer = new PDFRenderer(pd); /* dpi越大转换后越清晰,相对转换速度越慢 */ int pages = pd.getNumberOfPages pages); for (int page = 0; page < pages; ++page) { BufferedImage image = pdfRenderer.renderImageWithDPI
org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.rendering.ImageType; import org.apache.pdfbox.rendering.PDFRenderer //利用PdfBox生成图像 PDDocument pdDocument = PDDocument.load(new File(pdfPath)); PDFRenderer renderer = new PDFRenderer(pdDocument); //循环每个页码 for (int i = 0, len = pdDocument.getNumberOfPages int[] singleImgRGB; int shiftHeight = 0; //利用PdfBox生成图像 PDFRenderer renderer = new PDFRenderer(pdDocument); //循环每个页码 for (int i = 0, len = pdDocument.getNumberOfPages
File file = new File(filePath); PDDocument document = PDDocument.load(file); PDFRenderer renderer = new PDFRenderer(document); for (int page = 0; page < document.getNumberOfPages() e) { e.printStackTrace(); } } } 在这个示例中,我们使用PDFTextStripper类从PDF文件中提取文本内容,并使用PDFRenderer File file = new File(filePath); PDDocument pdfDocument = PDDocument.load(file); PDFRenderer renderer = new PDFRenderer(pdfDocument); for (int page = 0; page < pdfDocument.getNumberOfPages
而 PdfRenderer 是在 API 21 的版本中添加的,同样要注意。 创建 PDF 文件 先看看官网的文档,上面有介绍基于 SDK 怎么样来创建 PDF 文件的流程。 文章开头的地方,已经说明了这一部分由 PdfRenderer 类来实现。官网上也有它的实现流程。 // create a new renderer PdfRenderer renderer = new PdfRenderer(getSeekableFileDescriptor()); final 注意的是 PdfRenderer 构造方法接受的参数是一个 ParcelFileDescriptor 对象。 两个核心类就是 PdfDocument 和 PdfRenderer。 2. 文章中代码语言是 kotlin,其实 Java 当然也可以了。
png";log.debug("pdf封面图生成成功:{}", imgPath);PDDocument pdDocument = PDDocument.load(new File(pdfPath));PDFRenderer renderer = new PDFRenderer(pdDocument);/* 第二位参数越大转换后越清晰,相对转换速度越慢 */BufferedImage image = renderer.renderImageWithDPI
FinePrintableDemo(PDDocument document, int index) { 6 // 获取pdf文件, 将其中指定的页面转成图片. 7 PDFRenderer renderer = new PDFRenderer(document); 8 try { 9 this.image = renderer.renderImage org.apache.pdfbox.pdmodel.PDDocument; 6 import org.apache.pdfbox.rendering.ImageType; 7 import org.apache.pdfbox.rendering.PDFRenderer FinePrintableDemo(PDDocument document, int index) { 70 // 获取pdf文件, 将其中指定的页面转成图片. 71 PDFRenderer renderer = new PDFRenderer(document); 72 try { 73 this.image = renderer.renderImage
// 如果当前pdf已缓存,则直接返回 try { PDDocument doc = PDDocument.load(new File(pdfFilePath)); PDFRenderer pdfRendererMulti = new PDFRenderer(doc); int pageCount = doc.getNumberOfPages(); int index pdfName pdf文件名称 * @param baseUrl 基础访问地址 * @param pageIndex 当前页 * @return 图片访问集合 */ public String pdf2jpg(PDFRenderer
:{}", imgPath); PDDocument pdDocument = PDDocument.load(new File(pdfPath)); PDFRenderer renderer = new PDFRenderer(pdDocument); /* 第二位参数越大转换后越清晰,相对转换速度越慢 */ BufferedImage
:{}", imgPath); PDDocument pdDocument = PDDocument.load(new File(pdfPath)); PDFRenderer renderer = new PDFRenderer(pdDocument); /* 第二位参数越大转换后越清晰,相对转换速度越慢 */ BufferedImage
0; //保存每张图片的像素值 BufferedImage imageResult = null; // 利用PdfBox生成图像 PDDocument pdDocument = doc; PDFRenderer renderer = new PDFRenderer(pdDocument); /根据总页数, 按照50页生成一张长图片的逻辑, 进行拆分/ // 每50页转成1张图片 int pageLength
: imageFileName; try { PDDocument pdDocument = PDDocument.load(file); PDFRenderer renderer = new PDFRenderer(pdDocument); int pageCount = pdDocument.getNumberOfPages();
+ msOfficeWord + SaveAsPDFandXPS (完美保持原doc格式,效率最慢,只能在windows环境下进行,jacob需要dll文件Linux下不行) pdf转图片 方法1.PDFRenderer
在 Android 15 Developer Preview 2 中,PdfRenderer API 现在允许应用引入一些高级功能,如渲染受密码保护的文件、注解、表单编辑、通过复制进行搜索和选择等。 此外,PdfRenderer移到了一个可以通过 Google Play 系统更新进行更新的模块,可以独立于平台发布更新。
今天使用pdfRenderer配合recycleView制作简单的pdf阅读,但是发现item的ImageView刚开始是好的,各个item的布局紧凑。如图。 但是滑动之后,item的间距变大。
以下是一个完整的示例代码: import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.rendering.PDFRenderer if (pageText.trim().isEmpty()) { // 如果页面没有文本,尝试使用OCR识别 PDFRenderer renderer = new PDFRenderer(document); BufferedImage image = renderer.renderImageWithDPI
ByteArrayInputStream(pdfData); PDDocument document = PDDocument.load(is)) { PDFRenderer pdfRenderer = new PDFRenderer(document); for (int pageIndex = 0; pageIndex < document.getNumberOfPages (); ++pageIndex) { BufferedImage bim = pdfRenderer.renderImageWithDPI(pageIndex, 300,