C# 测试PDF是否能打开 .
2015-08-19 10:44
363 查看
最近在做抓取资源的工作 , 发现有些PDF下载下来不完整 ,打不开 ,但程序又没报错, 导致数据库的存放路径也更新, 下次重新抓取的话也不会抓这些错误的 .
于是想了个笨办法 . 在下载完PDF后, 加了个判断 . 看PDF能否打开, 期间用了PDFBox. 发现用
//获取文字
PDDocument doc = PDDocument.load(file_path_name);
PDFTextStripper stripper = new PDFTextStripper();
// 设置是否排序
stripper.setSortByPosition(true);
直接报未将对象引用实例 , 用获取图片方法
document = PDDocument.load(file_path_name);
PDDocumentCatalog cata = document.getDocumentCatalog();
COSDictionary cosDictionary = cata.getCOSDictionary();
也是报未将对象引用实例 .
原因可能是下载的PDF都是图文混排的吧 .
最后解决办法就是用iTextSharp 插件 . 加PdfReader reader = new PdfReader(file_path_name); PDF打不开的话直接跳catch . 解决 .
于是想了个笨办法 . 在下载完PDF后, 加了个判断 . 看PDF能否打开, 期间用了PDFBox. 发现用
//获取文字
PDDocument doc = PDDocument.load(file_path_name);
PDFTextStripper stripper = new PDFTextStripper();
// 设置是否排序
stripper.setSortByPosition(true);
直接报未将对象引用实例 , 用获取图片方法
document = PDDocument.load(file_path_name);
PDDocumentCatalog cata = document.getDocumentCatalog();
COSDictionary cosDictionary = cata.getCOSDictionary();
也是报未将对象引用实例 .
原因可能是下载的PDF都是图文混排的吧 .
最后解决办法就是用iTextSharp 插件 . 加PdfReader reader = new PdfReader(file_path_name); PDF打不开的话直接跳catch . 解决 .
相关文章推荐
- 关于对象实例序列化加密解密并写入文件的技巧
- C#启动另外一个C#程序,并传递参数
- c# 查询 插入 access db 2007
- c#索引器
- C#精髓 第四讲 GridView 72般绝技
- 【C#】窗体动画效果
- C#多态性详解
- C# interface学习经验浅谈
- C#-JudgeSystem判题系统-安装和熟悉C#开发环境
- C#-JudgeSystem判题系统-客户端和多线程
- C#-JudgeSystem判题系统-C#编译C程序
- C#-JudgeSystem判题系统-判题系统
- C#-JudgeSystem判题系统-开放实验总结
- 《C#入门经典》笔记
- 关于一个给二维数组循环赋值问题的本渣研究出的解决办法[C#]
- 用C#给程序加启动画面并只允许一个应用程序实例运行
- System.Reflection.BindingFlags 说明
- C#程序开发中经常遇到的10条实用的代码
- 使用C#选择文件夹、打开文件夹、选择文件
- c#创建窗体,向窗体添加控件,设置控件大小位置等属性,写控件的响应