1

私はasp.net/C#3.5/Winformsでアプリケーションに取り組んでいます。

このアプリケーションは、PDFファイルと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. 画像を単語でレンダリングする

PDFを画像に変換する方法について何かアイデアはありますか?

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 に答える