`

轻松使用apache pdfbox将pdf文件生成图片

    博客分类:
  • java
阅读更多

  近期在项目中使用到了大量的报表开发,需要将html页面中的表格内容导出到pdf word excel和图片,前三者都比较好实现。唯独后者生成图片使用ImageIo操作时生成的图片有点惨不忍睹。经过大量google后发现,pdfbox这个组件不错,可以将pdf文件轻松生成图片。这不问题解决了,但在使用过程中不然,受到了很多致命性的打击。pdfbox在处理中文pdf的时候就会表现的比较脆弱点。但对英文版的pdf导出图片,那是杠杠的。尽管这样,还是记录一下,毕竟这方面的资料很少。我几乎搜遍了整个google,baidu才搜集到那么一点点资料。这里跟大家分享下。
        所依赖的JAR:
        commons-logging-1.1.1.jar
        fontbox-1.2.1.jar
        pdfbox-1.2.1.jar
        示例代码:

/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *      
http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 
*/

package com.future.pdfbox.image;

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;

import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
import javax.imageio.ImageWriter;
import javax.imageio.stream.ImageOutputStream;

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;

public class ExtractImages 
{
    
public static void main(String[] args) throws IOException 
        PDDocument doc 
= PDDocument.load("F:\\1.pdf");
        
int pageCount = doc.getPageCount(); 
        System.out.println(pageCount); 
        List pages 
= doc.getDocumentCatalog().getAllPages(); 
        
for(int i=0;i<pages.size();i++){
            PDPage page 
= (PDPage)pages.get(i); 
            BufferedImage image 
= page.convertToImage(); 
            Iterator iter 
= ImageIO.getImageWritersBySuffix("jpg"); 
            ImageWriter writer 
= (ImageWriter)iter.next(); 
            File outFile 
= new File("C:/"+i+".jpg"); 
            FileOutputStream out 
= new FileOutputStream(outFile); 
            ImageOutputStream outImage 
= ImageIO.createImageOutputStream(out); 
            writer.setOutput(outImage); 
            writer.write(
new IIOImage(image,null,null)); 
        }

        doc.close(); 
        System.out.println(
"over"); 
    }


}


转至:http://www.blogjava.net/sxyx2008/archive/2010/07/23/326890.html

分享到:
评论
1 楼 jaent 2010-12-21  
  太给力了,感谢lz

相关推荐

    轻松使用apache pdfbox将pdf文件生成图片.pdf

    在这个特定的场景中,PDFBox被用来将PDF文件转换为图片,这对于报表开发或者需要将PDF内容展示在其他非PDF格式的应用中非常有用。 在描述中提到的问题是,在尝试使用ImageIO来直接将PDF转换为图片时,结果可能不...

    轻松使用apache pdfbox将pdf文件生成图片.docx

    总结来说,Apache PDFBox 是一个强大的 PDF 处理工具,尤其适用于将 PDF 文件转换为图片。然而,处理含有中文字符的 PDF 文件时需要额外的注意事项和资源。在进行文件转换时,根据不同的需求选择合适的库和工具是至...

    pdfbox 提取 pdf文件中的图片

    1.将一个PDF文档转换输出为一个文本文件。 2.可以从文本文件创建一个PDF文档。 3.加密/解密PDF文档。 4.向已有PDF文档中追加内容。 5.可以从PDF文档生成一张图片。 6.可以与Jakarta Lucene搜索引擎的整合。 这个小...

    java用poi转ppt为图片和用pdfbox转pdf为图片的demo

    通过以上步骤,你可以利用Apache POI和PDFBox将PPT和PDF文件转换为图像,使得它们能在更多环境中被显示和共享。这两个库的灵活性和强大功能使得在Java中处理Office文档和PDF文件变得简单高效。在实际项目中,可以...

    使用Java编写脚本来将PDF转换为图像,Java的PDF处理库,Apache PDFBox

    将代码保存为Java文件(例如,PDFToImageConverter.java)。然后,在命令行中使用Java编译器编译...脚本将使用Apache PDFBox库打开PDF文件并将每个页面转换为JPEG格式的图像。转换后的图像将保存在指定的输出文件夹中。

    pdfbox,生成pdf文件的缩略图

    在本场景中,我们关注的是PDFBox的一个特定功能:生成PDF文件的缩略图。这有助于在显示文档列表时提供预览,类似于百度文库中对文档的呈现方式,用户可以通过缩略图快速了解文档内容。 生成PDF缩略图的核心概念是...

    利用ITEXT、PDFBOX将PDF转为图片

    PDF转换为图片是一种...综上所述,ITEXT和PDFBOX结合使用,可以在Java环境中方便地将PDF文档转换为图片。这为开发者提供了更多处理PDF文档的灵活性和可能性,但同时也需要根据具体需求选择合适的转换参数和优化策略。

    Java将PDF生成图片

    以下是一些关于“Java将PDF生成图片”的核心知识点: 1. **PDF处理库**:在Java中,我们可以使用第三方库如Apache PDFBox、iText和PDF Clown等来处理PDF文档。这些库提供了丰富的API,用于读取、解析和操作PDF文件...

    pdfbox1.8.9实例图片转pdf和pdf转图片

    这个功能通常用于将一组图片合并到一个PDF文件中,方便查看和管理。在PDFBox中,我们可以使用`PDPageContentStream`类来添加图像到PDF页面。以下是一个简单的步骤概述: 1. 创建`PDDocument`对象,它是PDF文档的...

    pdfbox读取pdf文档转为高清图片的例子

    在本例中,我们将关注如何使用PDFBox将PDF文档的内容转换为高清图片。 首先,我们需要理解PDFBox的基本用法。PDFBox提供了两个主要的模块:PDFBox Core和PDFBox Tools。Core模块主要用于处理PDF文档的结构和内容,...

    使用poi根据模版生成word文档并转换成PDF文件

    本文将深入探讨如何利用Apache POI框架根据模板生成Word文档,并进一步将其转换为PDF文件。 首先,Apache POI提供了一个名为HWPF(Horrible Word Processor Format)的组件,用于处理Word文档。通过这个组件,我们...

    java多个pdf文件合并成一个

    通过以上步骤,你可以使用Java和Apache PDFBox成功地将多个Base64编码的PDF文件合并为一个PDF文件。这种方法在处理大量PDF文件时非常有效,且代码简洁易于维护。同时,Apache PDFBox库还提供了许多其他功能,如PDF元...

    安卓android上pdf转图片

    在安卓平台上,将PDF文件转换为图片是一种常见的需求,尤其对于那些希望在移动设备上轻松查看或分享PDF内容的用户。Android系统提供了多种方法来实现这个功能,这涉及到PDF处理库、图像处理技术和文件操作技术。下面...

    基于java根据模板动态生成PDF文件

    总结,Java提供了一系列工具和库,如Apache PDFBox、iText、Flying Saucer等,用于根据模板动态生成PDF文件。开发者可以根据实际需求和项目规模选择合适的库,并结合模板引擎实现高效的数据绑定和文档生成。在实际...

    PDF转HTML文件用到的pdfbox文件的jar包

    在使用PDFBox进行转换时,你需要将jar包(如`pdfbox-2.0.4.jar`)添加到你的Java项目类路径中。这样,你可以通过调用PDFBox提供的API来实现转换操作。以下是一个简单的示例代码片段: ```java import org.apache....

    java操作wordpdf图片生成图片水印

    总的来说,Java通过Apache POI和PDFBox等库,为开发者提供了强大的工具来操作Word和PDF文档,并生成图片水印。这不仅可以提高工作效率,也能有效地保护和标记文档内容。通过深入学习和实践,开发者可以掌握这些技能...

    [Java]PDF转图片解决中文乱码.zip

    在这个特定的压缩包文件中,"PDF2img"是一个基于PDFBox开发的DEMO,它设计用于解决PDF转图片时可能出现的中文乱码问题。 PDFBox是Apache软件基金会的一个开源项目,提供了丰富的API来读取、写入、修改PDF文档。在...

    pdfbox所有jar包以及源码

    PDFBox是Apache软件基金会的一个开源项目,主要用于处理PDF(Portable Document Format)文档。这个压缩包包含了PDFBox的所有jar包以及源码,对于开发者来说,这是一个非常宝贵的资源,可以帮助理解和操作PDF文档,...

    JAVA根据PDF模板生成PDF文件.rar

    总的来说,这个压缩包提供的资源展示了如何在Java环境中利用模板和第三方库来动态生成包含文本、图片、条形码和二维码的PDF文件。这是一项在Web应用中广泛采用的技术,对于提高自动化文档生成的效率和一致性具有重要...

    用VB代码生成PDF文件

    标题中的“用VB代码生成PDF文件”意味着我们将探讨如何使用Visual Basic(VB)编程语言来创建PDF文档。VB是一种流行的编程环境,常用于开发Windows应用程序。PDF(Portable Document Format)是一种广泛使用的文件...

Global site tag (gtag.js) - Google Analytics