如果在系统中有比较多的PDF文件,但是的pdf文件可能被损坏了,我们可以利用itext 用来检测

首先下载itext包

http://sourceforge.net/projects/itext/files/

然后在执行以下代码

import java.io.File;

import java.io.FileFilter;

import java.io.IOException;

import java.util.ArrayList;

import com.itextpdf.text.Document;

import com.itextpdf.text.pdf.PdfReader;

public class TestPdf {

private static ArrayList pdffiles = new ArrayList();

/**

* 递归得到特定目录下的所有文件

*/

public static void getAllPdfFile(String basedir) {

File dir = new File(basedir);

File[] files = dir.listFiles(new PdfFileFilter());

if (files == null)

return;

for (int i = 0; i < files.length; i++) {

if (files[i].isDirectory()) {

getAllPdfFile(files[i].getAbsolutePath());

} else {

pdffiles.add(files[i].getAbsolutePath());

}

}

}

/**

* 循环检测

*/

private static void CheckPdfFiles(ArrayList files) {

for (String file : files) {

boolean flag = false;

flag = check(file);

if (!flag) {

System.out.println(file + "文件损坏");

}

}

}

/**

* 利用itext打开pdf文档

*/

private static boolean check(String file) {

boolean flag1 = false;

int n = 0;

try {

Document document = new Document(new PdfReader(file).getPageSize(1));

document.open();

PdfReader reader = new PdfReader(file);

n = reader.getNumberOfPages();

if (n != 0)

flag1 = true;

document.close();

} catch (IOException e) {

System.out.println(e.getMessage());

}

return flag1;

}

public static void main(String[] args) {

getAllPdfFile("C:\\CO_uat\\");

if (pdffiles.size() > 0)

CheckPdfFiles(pdffiles);

System.out.println("No break down file");

}

}

/*

* pdf文件过滤器

*/

class PdfFileFilter implements FileFilter {

public boolean accept(File file) {

if (file.isFile()) {

String filename = file.getName().toLowerCase();

if (filename.endsWith(".pdf") == true) {

return true;

} else {

return false;

}

} else {

return true;

}

}

}

posted on 2010-09-01 18:20 fly 阅读(3952) 评论(3)  编辑  收藏 所属分类: java学习

java pdf查看_Java检查PDF文件是否损坏相关推荐

  1. 在线PDF查看器和PDF编辑器:GrapeCity Documents PDF (GcPdf)

    跨平台 JavaScript PDF 查看器 使用我们的 JavaScript PDF 查看器在网络上阅读和编辑 PDF.跨浏览器和框架打开和打印.GrapeCity Documents PDF (G ...

  2. java pdf 水印_Java 在PDF中添加水印——文本/图片水印

    水印是一种十分常用的防伪手段,常用于各种文档.资料等.常见的水印,包括文字类型的水印.图片或logo类型的水印.以下java示例,将分别使用inserttextwatermark(pdfpagebas ...

  3. java pdf打印_Java 打印PDF文档

    本文将介绍如何在Java应用程序中打印PDF文档.一般有以下三种常见打印方式:静默打印 显示打印对话框打印 打印PDF时自定义纸张大小 使用工具:Free Spire.PDF for Java 创建运 ...

  4. java 去掉pdf文字_Java 删除PDF中的附件

    在PDF中添加附件,可分两种情况,一种是直接把文档作为附件插入到PDF,一种是注释附件,即将文档通过注释的形式插入到PDF页面中的指定位置,通过点击注释,即可打开注释中的附件文档.同样的,在我们删除P ...

  5. java读取pdf签名_Java 获取PDF中的数字签名信息

    一.概述及程序环境要求 本文以Java代码演示如何获取PDF文档中的数字签名信息,包括签名人.签名位置.日期.原因.联系方式.签名在文档中的坐标等等. 程序环境包括: Spire.Pdf.jar(ja ...

  6. java pdf 水印_Java在PDF中添加水印(文本/图片水印)

    水印是一种十分常用的防伪手段,常用于各种文档.资料等.常见的水印,包括文字类型的水印.图片或logo类型的水印.以下Java示例,将分别使用insertTextWatermark(PdfPageBas ...

  7. java pdf 水印_Java在PDF中添加水印(文本/图片水印)效果

    水印是一种十分常用的防伪手段,常用于各种文档.资料等.常见的水印,包括文字类型的水印.图片或logo类型的水印.以下Java示例,将分别使用insertTextWatermark(PdfPageBas ...

  8. HTML PDF 查看器--RAD PDF 3.33 FOR ASP.NET

    RAD PDF 的主要特点 基于 HTML 的 PDF 阅读器 客户端 PDF 编辑器 功能丰富的 PDF 表单填写器 交互式 PDF 表单设计器 保护 PDF 内容 签署和认证 PDF 文件 广泛的 ...

  9. java heap 查看_JAVA HEAP查看简单办法

    JAVA HEAP查看简单办法 最近在看JVM有关东西,发现一个简单和free的HEAP DUMP查看方式(基于SUN JDK) 先使用 jmap -dump:live,format=b,file=h ...

  10. java pdf 文字_Java给pdf文件添加文字等信息

    2019独角兽企业重金招聘Python工程师标准>>> maven依赖 4.0.0 com.ttxit artifact 1.0.0 war javax.servlet javax. ...

最新文章

  1. Linux基础系列:常用命令(5)_samba服务与nginx服务
  2. C++ STL deque创建
  3. Java基础入门笔记-构造方法的继承
  4. 模式实例之——中介者实例
  5. phpstorm设置背景图片
  6. jeb 高级教程之动态调试
  7. 优科Ruckus R610 AP刷Unleashed固件
  8. 南京公积金贷款一些规定要点。
  9. cs架构自动化测试工具选型
  10. mysql报1205错误
  11. android高德地图截屏,高德地图-地图截屏
  12. Excel如何将某个特定值变为空值
  13. 中国移动、天猫都在用的区块链抽奖,了解一下?
  14. 佐治亚州立大学计算机科学,佐治亚州立大学计算机科学研究生语言及申请要求-费用-课程设置...
  15. 数据备份一般有哪些方式,如何进行数据备份
  16. lanczos bidiagonalization(1)
  17. Traffic Control
  18. 【单片机】Proteus安装、MDK5安装、Proteus与Keil联合仿真教程
  19. office2016 下载直通车
  20. 认识图片放大工具PhotoZoom的菜单栏

热门文章

  1. 金蝶K3案例教程财务报表
  2. 如何破解加密的PDF文件
  3. leapFTP 使用笔记
  4. 计算机硬盘容量越大运行速度越快,固态硬盘越大运行速度越快吗
  5. 安卓逆向_2 --- Androidkiller,apktool、dex2jar、jd-gui、jadx反编译工具 的 安装、设置及使用教程
  6. 天正服务器修改,天正修改服务器地址
  7. web前端开发Vue面试题记录
  8. 【新提醒】超低成本手机全息3D投影制作教程_光学_极客迷
  9. 特征探索性分析Exploring_features
  10. 关于民族的数据库表设计