2011-06-20 7 views
1

Je travaille sur une application dans asp.net/C# 3.5/Winforms.Comment ajouter un sharpPDF dans un document Word?

Cette application est le rendu d'un fichier PDF et un fichier Word.

Nous utilisons Microsoft.Office.Interop.Word pour Word et sharpPDF pour PDF.

Notre client nous demande de mettre la même chose que dans le PDF dans le document Word.

Comment puis-je faire facilement une telle chose sans toucher au code existant?

Voici le genre de code que je veux faire

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 ; 

Edit: Une idée pourrait être

  1. créer le fichier pdf
  2. charge le pdf en une image
  3. rendu dans le mot l'image

Une idée sur la façon de convertir PDF en Image?

Edit2: Je trouve cette fonction AddOLEObject

Comment puis-je lié mon PDF qui est en mémoire à cette fonction?

+0

Pour mes affaires, nous créons le mot doc, puis utilisez le plug-in MS pour créer le PDF: https://www.microsoft .com/Téléchargements/fr/details.aspx? familyid = f1fc413c-6d89-4f15-991b-63b07ba5f2e5 & displaylang = fr – RiddlerDev

Répondre

0

Trouver la solution avec AddOLEObject et la création d'un fichier temporaire 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); 
Questions connexes