Add document to Word processing via OLE

What is OLE object?

OLE is an abbreviation for “Object Linking and Embedding” technology that is provided by Microsoft and allows to import and embed some content produced by another application into currently edited documents. For example Excel spreadsheet  or PowerPoint presentation can be embedded into documents edited in a word processor and so on. This way OLE allows to store all document related data inside a single document and share this data easily.

How to add OLE object to Microsoft Word documents

GroupDocs.Merger provides an ability to insert OLE objects into word processing documents of Microsoft Word and Open Document formats. Here is how to do this in a 3 easy steps:

  • Instantiate Merger object with source document path or stream;
  • Call ImportDocument method and pass OleWordProcessingOptions object with embedded file path and page number;
  • Call Save method and pass desired file path to save resultant document.

The following code sample demonstrates how to embed PDF file into DOCX document as OLE object

using (Merger merger = new Merger(@"c:\sample.docx"))
{
	int pageNumber = 2;
	OleWordProcessingOptions oleWordProcessingOptions = new OleWordProcessingOptions(@"c:\embedded.pdf", pageNumber);
	oleWordProcessingOptions.Width = 300;
	oleWordProcessingOptions.Height = 300;

    merger.ImportDocument(oleWordProcessingOptions);
    merger.Save(@"c:\output\result.docx");
}