如何将sharpPDF添加到Word文档中

本文关键字:Word 文档 添加 sharpPDF | 更新日期: 2023-09-27 17:59:31

我正在asp.net/C#3.5/Winforms中开发一个应用程序。

此应用程序正在呈现一个PDF文件和一个Word文件。

我们使用Microsoft.Office.Interop.Word表示单词,使用sharpPDF表示PDF。

我们的客户要求我们将PDF中的相同内容放入Word文档中。

在不接触现有代码的情况下,我如何轻松地完成这样的工作?

这是我想做的代码类型

pdfDocument myPdf = new pdfDocument("Title", "Title");
// fill pdf
Microsoft.Office.Interop.Word.Application msWord = new Microsoft.Office.Interop.Word.Application();
// fill word
msWord.Bookmarks.get_Item(ref oBookMarkId).Range = myPdf ;

编辑:一个想法可能是

  1. 创建pdf文件
  2. 将pdf加载到图像中
  3. 用文字呈现图像

你知道如何将PDF转换成图像吗?

编辑2:我找到了这个函数AddOLEObject

如何将内存中的PDF链接到该函数?

如何将sharpPDF添加到Word文档中

使用AddOLEObject查找解决方案并创建临时pdf文件:

string tempNameFilePdf = "C:''temp''temp" + DateTime.Now.Ticks + ".pdf";
pdfDocument pdfDocument = getPdf();
pdfDocument.createPDF(tempNameFilePdf);
object oBookMarkId = "Schema";
object missing = System.Reflection.Missing.Value;
object fileNameObject = tempNameFilePdf;
object classType = "AcroRd32.Document";
object oFalse = false;
wordDocument.Bookmarks.get_Item(ref oBookMarkId).Range.InlineShapes.AddOLEObject(
             ref classType, ref fileNameObject, ref missing, ref missing,
             ref missing, ref missing, ref missing, ref missing);