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

时间:2011-06-20 14:50:22

标签: c# ms-word office-interop ole pdfsharp

我正在使用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. 在图片中渲染图片
  4. 关于如何将PDF转换为图像的任何想法?

    Edit2:我找到了这个函数AddOLEObject

    如何将内存中的PDF链接到该功能?

1 个答案:

答案 0 :(得分:1)

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