今天遇到了,需要将pdf文件插到word里,好像word不支持直接插入pdf文件,所以现在通过将pdf转为图片的方式,逐个将图片插入到word。这里使用apose.pdf第三方库,将多个pdf文件读取,然后转为pdf。具体的实现代码如下所示。
private void BTN_PDF_TO_IMAGES_Click(object sender, EventArgs e)
{
List<string> files = GetFiles(@"C:\Users\qrb\Desktop\测绘资质\三、专业技术人员\part7", new string[] { "*.pdf"});
int indexxx = 0;
foreach (var item in files)
{
indexxx = indexxx + 1;
Console.WriteLine(item);
try
{
Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document(item);
int pageCount = pdfDocument.Pages.Count;
Aspose.Pdf.Devices.Resolution resolution = new Aspose.Pdf.Devices.Resolution(130);
Aspose.Pdf.Devices.JpegDevice jpegDevice = new Aspose.Pdf.Devices.JpegDevice(resolution);
string parentPath=Path.GetDirectoryName(item);
string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(item);
for (int pageIndex = 1; pageIndex <= pageCount; pageIndex++) {
string fileName = parentPath + "\\"+ fileNameWithoutExtension + "_" + Convert.ToString(pageIndex)+".jpeg";
MemoryStream stream = new MemoryStream();
jpegDevice.Process(pdfDocument.Pages[pageIndex], stream);
using (var fs = new FileStream(fileName, FileMode.OpenOrCreate))
{
jpegDevice.Process(pdfDocument.Pages[pageIndex], fs);
fs.Close();
}
}
}
catch (Exception ex) {
System.Windows.Forms.MessageBox.Show("异常错误:" + ex.ToString());
}
}