1

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

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

我们对 word 使用 Microsoft.Office.Interop.Word,对 PDF 使用 sharpPDF。

我们的客户要求我们将 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. 用word渲染图像

关于如何将 PDF 转换为 Image 的任何想法?

Edit2:我找到了这个函数 AddOLEObject

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

4

1 回答 1

2

使用 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);
于 2011-06-21T07:25:02.997 回答