C# 如何将sharpPDF添加到Word文档中?

C# 如何将sharpPDF添加到Word文档中?,c#,ms-word,office-interop,ole,pdfsharp,C#,Ms Word,Office Interop,Ole,Pdfsharp,我正在用asp.net/C#3.5/Winforms开发一个应用程序 此应用程序正在呈现PDF文件和Word文件 我们使用Microsoft.Office.Interop.Word for Word和sharpPDF for PDF 我们的客户要求我们将PDF中的内容放入Word文档中 我如何在不接触现有代码的情况下轻松地完成这样的事情 下面是我想做的代码 pdfDocument myPdf = new pdfDocument("Title", "Title"); // fill pdf Mi

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

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

我们使用Microsoft.Office.Interop.Word for Word和sharpPDF for 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 ;
编辑:一个想法可能是

  • 创建pdf文件
  • 将pdf加载到图像中
  • 在word中渲染图像
  • 你知道如何将PDF转换成图像吗

    Edit2:我已经找到这个函数AddOLEObject


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

    使用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);
    

    对于my stuff,我们创建word文档,然后使用MS插件创建PDF: