1.新建項目
2.新增一個新文件夾“lib”(主要是為了存放引用的dll)
3.將“gsdll32.dll? 、PDFLibNet.dll? 、PDFView.dll”3個dll添加到文件夾中
4.項目添加“PDFLibNet.dll? 、PDFView.dll”2個類庫的引用,并將gsdll32.dll 拷貝到項目生產根目錄中(bin 目錄)
(注意:gsdll32.dll 是無法和其它兩個dll 一樣添加到項目中進行引用的,這一點我之前未能給大家作出說明,不好意思,^_^ )
?
5.在主界面中添加文本框“TextBox1”,瀏覽按鈕“button1”,轉換按鈕“button2”和文件選擇控件“OpenFileDialog1”
?
6.執行方式:點擊瀏覽按鈕選擇一個PDF,點擊“轉換按鈕”即可
7.源代碼:Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace PDFEditer
{
??? public partial class Form1 : Form
??? {
??????? public Form1()
??????? {
??????????? InitializeComponent();
??????? }
??????? /// <summary>
??????? /// 將PDF 相應的頁轉換為圖片
??????? /// </summary>
??????? /// <param name="strPDFpath">PDF 路徑</param>
??????? /// <param name="Page">需要轉換的頁頁碼</param>
??????? private void GetImage(string strPDFpath,int Page)
??????? {
??????????? FileInfo file=new FileInfo (strPDFpath);
??????????? string strSavePath=file.Directory.FullName;
??????????? byte[] ImgData = GetImgData(strPDFpath, Page);
??????????? MemoryStream ms = new MemoryStream(ImgData, 0, ImgData.Length);
??????????? Bitmap returnImage = (Bitmap)Bitmap.FromStream(ms);
??????????? string strImgPath=Path.Combine(strSavePath,string.Format("PDFConvert{0}.jpg",Page));
??????????? returnImage.Save(strImgPath);
??????? }
??????? /// <summary>
??????? /// 從PDF中獲取首頁的圖片
??????? /// </summary>
??????? /// <param name="PDFPath">PDF 文件路徑</param>
??????? /// <param name="Page">需要獲取的第幾頁</param>
??????? /// <returns></returns>
??????? private byte[] GetImgData(string PDFPath,int Page)
??????? {
??????????? System.Drawing.Image img = PDFView.ConvertPDF.PDFConvert.GetPageFromPDF(PDFPath,Page, 300, "", true);
??????????? return GetDataByImg(img);//讀取img的數據并返回
??????? }
??????? /// <summary>
??????? /// 將單頁的PDF轉換為圖片
??????? /// </summary>
??????? /// <param name="_image"></param>
??????? /// <returns></returns>
??????? private byte[] GetDataByImg(System.Drawing.Image _image)
??????? {
??????????? System.IO.MemoryStream Ms = new MemoryStream();
??????????? _image.Save(Ms, System.Drawing.Imaging.ImageFormat.Jpeg);
??????????? byte[] imgdata = new byte[Ms.Length];
??????????? Ms.Position = 0;
??????????? Ms.Read(imgdata, 0, Convert.ToInt32(Ms.Length));
??????????? Ms.Close();
??????????? return imgdata;
??????? }
??????? string Pdfpath = "";
??????? /// <summary>
??????? /// 選擇需要轉換的PDF
??????? /// </summary>
??????? /// <param name="sender"></param>
??????? /// <param name="e"></param>
??????? private void button1_Click(object sender, EventArgs e)
??????? {
??????????? if (openFileDialog1.ShowDialog() == DialogResult.OK)
??????????? {
??????????????? Pdfpath = openFileDialog1.FileName;
??????????? }
??????????? else
??????????? {
??????????????? Pdfpath = "";
??????????? }
??????????? textBox1.Text = Pdfpath;
??????? }
??????? /// <summary>
??????? /// 轉換
??????? /// </summary>
??????? /// <param name="sender"></param>
??????? /// <param name="e"></param>
??????? private void button2_Click(object sender, EventArgs e)
??????? {
??????????? if (!string.IsNullOrEmpty(Pdfpath))
??????????? {
??????????????? GetImage(Pdfpath,2);
??????????? }
??????? }
??? }
}
?
源碼下載:http://u.163.com/8MJPw5bT?? 提取碼:pe8y8a35