今天遇到了,需要将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());
- }
-
- }