91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡(jiǎn)介

從PDF中提取圖片的項(xiàng)目實(shí)例,用VS2008可以直接運(yùn)行。

資源截圖

代碼片段和文件信息

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

?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????目錄???????????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

評(píng)論

共有 條評(píng)論