【问题标题】:How to add a sharpPDF into a Word document?如何将SharpPDF添加到Word文档中?
【发布时间】:2011-06-20 14:50:22
【问题描述】:

我正在用 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 转换为图像的任何想法?

Edit2:我找到了这个函数 AddOLEObject

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

【问题讨论】:

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


【解决方案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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-25
    • 2011-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多