资源简介
从PDF中提取图片的项目实例,用VS2008可以直接运行。

代码片段和文件信息
using System;
using System.Drawing.Imaging;
using System.IO;
using iTextSharp.text.pdf;
namespace itextsharp.ExtractImagesFromPDF
{
public class PDFParser
{
public static void ExtractImagesFromPDF(string sourcePdf string outputPath)
{
// NOTE: This will only get the first image it finds per page.
PdfReader pdf = new PdfReader(sourcePdf);
RandomAccessFileOrArray raf = new iTextSharp.text.pdf.RandomAccessFileOrArray(sourcePdf);
try
{
for (int pageNumber = 1; pageNumber <= pdf.NumberOfPages; pageNumber++)
{
PdfDictionary pg = pdf.GetPageN(pageNumber);
// recursively search pages forms and groups for images.
Pdfobject obj = FindImageInPDFDictionary(pg);
if (obj != null)
{
int XrefIndex = Convert.ToInt32(((PRIndirectReference)obj).Number.ToString(System.Globalization.CultureInfo.InvariantCulture));
Pdfobject pdfObj = pdf.GetPdfobject(XrefIndex);
PdfStream pdfStrem = (PdfStream)pdfObj;
byte[] bytes = PdfReader.GetStreamBytesRaw((PRStream)pdfStrem);
if ((bytes != null))
{
using (System.IO.MemoryStream memStream = new System.IO.MemoryStream(bytes))
{
memStream.Position = 0;
System.Drawing.Image img = System.Drawing.Image.FromStream(memStream);
// must save the file while stream is open.
if (!Directory.Exists(outputPath))
Directory.CreateDirectory(outputPath);
string path = Path.Combine(outputPath String.Format(@“{0}.jpg“ pageNumber));
System.Drawing.Imaging.EncoderParameters parms = new System.Drawing.Imaging.EncoderParameters(1);
parms.Param[0] = new System.Drawing.Imaging.EncoderParameter(System.Drawing.Imaging.Encoder.Compression 0);
System.Drawing.Imaging.ImageCodecInfo jpegEncoder = GetImageEncoder(“JPEG“);
img.Save(path jpegEncoder parms);
}
}
}
}
}
catch
{
throw;
}
finally
{
pdf.Close();
raf.Close();
}
}
private static Pdfobject FindImageInPDFDictionary(PdfDictionary pg)
{
PdfDictionary res = (PdfDictionary)PdfReader.GetPdfobject(pg.Get(PdfName.RESOURCES));
PdfDictionary xob
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-02-16 19:30 itextsharp.ExtractImagesFromPDF\
文件 2735 2012-02-16 19:24 itextsharp.ExtractImagesFromPDF\itextsharp.ExtractImagesFromPDF.csproj
文件 168 2012-02-11 14:55 itextsharp.ExtractImagesFromPDF\itextsharp.ExtractImagesFromPDF.csproj.user
文件 5126 2012-02-16 19:21 itextsharp.ExtractImagesFromPDF\Program.cs
目录 0 2012-02-16 19:17 itextsharp.ExtractImagesFromPDF\Properties\
文件 1384 2012-02-11 14:37 itextsharp.ExtractImagesFromPDF\Properties\AssemblyInfo.cs
- 上一篇:spring-cloud demo
- 下一篇:基于遗传算法的PID参数整定及仿真
相关资源
- 基于MFC扩展CListCtrl子项显示图片并叠
-
Hollow fibre ba
sed Liquid-liquid-liquid mic - Universal Extractor(万能文件解包工具)
- img写盘工具(roadkil‘s diskimage) v1.
- cximage的linux版本源码
- Cocos2d-x 3.x 头像选择器功能扩展Image
- PCNN TOOLBOX
- 双立方插值实现
- RPG解包器 Rgss_Extract
- 图像处理 分析与机器视觉 源码
- 脉冲耦合神经网络工具箱PCNN-toolbox
- Image2Lcd+汉字取模,TFT助手
- PNG图片转Delphi中Image.Picture.data代码-工
- CImage 强大的图像处理类库
- 微软内部镜像封装工具:CDIMAGE 2.54 (版
- iTextSharp创建中文PDF
- Modeling of rapeseed at maturity stage using 3
- iTextSharp验证PDF中签名数量及签名有效
- Analysis of Sulfamerazine in Pond Water and Se
- ImageWatch2019.vsix
- extractFromExcel.rar
- Image Resizer
- RAR Extractor Lite.zip
- swift-PSImageEditors一个简而至美的图片编
- ImageConverter(万能图片转换器)2009免
- ZedBoard REV_D的BOOT.BIN、devicetree.dtb、l
- Image Super-Resolution Via Sparse Representati
- Qt Openglwidget 显示图片纹理贴图
- 2-d and 3-d Image Registration: for Medical Re
- Universalimageloader
评论
共有 条评论