OLE означает связывание и внедрение объектов. Он предоставляется Microsoft и позволяет создавать и редактировать документы, содержащие элементы или объекты, созданные различными приложениями.

Например, вы можете встраивать электронные таблицы, изображения и звуковые клипы как объекты OLE в документ Word. Вы можете использовать эти OLE-объекты в документе Word и не беспокоиться о повторном переключении на несколько приложений. Вы можете внедрять или вставлять такие объекты программно, используя OLE в C#.

Эта статья расскажет вам, как вы можете:

Шаги в этой статье и примеры кода используют GroupDocs.Merger для .NET. Поэтому обязательно установите API одним из следующих способов:

  • Установите с помощью диспетчера пакетов NuGet.
  • Скачать DLL и указать ссылку на нее в проекте.

Вставьте PDF как объект OLE в документ MS Word на С#

Вставить PDF как OLE в документ Word на С#

Вот шаги и пример кода C#, чтобы показать, как встроить файл PDF в документ Word как объект OLE:

  1. Создайте экземпляр OleWordProcessingOptions с параметрами внедрения и документом для внедрения в документ Word.
  2. Теперь создайте экземпляр объекта Merge с путем или потоком исходного документа Word.
  3. Вызовите метод ImportDocument и передайте объект Параметры обработки текста OLE, заданные на шаге 1.
  4. Вот и все. Вызовите метод Save, чтобы получить результирующий документ Word, содержащий документ PDF в качестве объекта OLE.
// Embed a PDF file into a Word document as an OLE Object in C#
int pageNumber = 2;
OleWordProcessingOptions oleWordProcessingOptions = new OleWordProcessingOptions(@"embedded-doc.pdf", pageNumber)
{ 
    Width = 300, // Just setting the height & width, you have more options.
    Height = 300
};
// Use Merger class to start with source Word document and embed PDF as OLE object.
using (Merger merger = new Merger(@"source-doc.docx"))
{
    merger.ImportDocument(oleWordProcessingOptions);
    merger.Save(@"word-document-with-OLE.docx");
}

Вставьте документ Word как объект OLE в электронную таблицу Excel на С#

Вставьте OLE файла Word в электронную таблицу Excel на С#

Мы можем встраивать объекты OLE в электронные таблицы Excel. Пример кода CSharp и приведенные ниже шаги, объясняющие, как добавить документ Word в электронную таблицу Excel в качестве объекта OLE:

  1. Создайте экземпляр OleSpreadsheetOptions с параметрами встраивания и документом для встраивания в электронную таблицу Excel.
  2. Теперь создайте экземпляр объекта Merger с путем или потоком исходной электронной таблицы.
  3. Теперь вызовите метод ImportDocument и передайте объект Параметры электронной таблицы OLE, заданные на шаге 1.
  4. Наконец, вызовите метод Save, чтобы получить результирующую электронную таблицу Excel, содержащую документ Word в качестве объекта OLE.
// Embed a Word file into an Excel Spreadsheet as an OLE Object in C#
int pageNumber = 2;
OleSpreadsheetOptions oleSpreadsheetOptions = new OleSpreadsheetOptions(@"embedded-doc.docx", pageNumber)
{
    RowIndex = 2, // Setting the Row & height Index, you have more options.
    ColumnIndex = 2
};
// Using Merger class with source spreadsheet and embedding a Word document as an OLE object.
using (Merger merger = new Merger(@"sample-doc.xlsx"))
{
    merger.ImportDocument(oleSpreadsheetOptions);
    merger.Save(@"excel-sheet-with-ole.xlsx");
}

Добавить PDF как объект OLE в презентацию PowerPoint на С#

Вставьте PDF как OLE в презентацию PowerPoint на С#

Точно так же здесь мы вставляем объекты в презентацию PowerPoint.

  1. Создайте экземпляр OlePresentationOptions с параметрами внедрения и документом для внедрения в презентацию PowerPoint.
  2. Теперь создайте экземпляр объекта Объединение с путем или потоком исходной презентации.
  3. Вызовите метод ImportDocument и передайте объект Опций представления OLE, заданных на шаге 1.
  4. Наконец, вызовите метод Save, чтобы получить результирующую презентацию PowerPoint с документом PDF в качестве объекта OLE.
// Embed a PDF file into an Excel Spreadsheet as an OLE Object in C#
int pageNumber = 2;
OlePresentationOptions olePresentationOptions = new OlePresentationOptions(@"embedded.pdf", pageNumber)
{
    X = 10, // Setting only X & Y coordinates, you can customize more.
    Y = 10
};
// Using Merger class to embed a PDF file as an OLE object in the PowerPoint presentation.
using (Merger merger = new Merger(@"sample-presentation.ppt"))
{
    merger.ImportDocument(olePresentationOptions);
    merger.Save(@"powerpoint-presentation-with-ole.ppt");
}

Вывод

Мы обсудили, как легко и быстро мы можем вставлять объекты OLE в документы Word, Excel или PowerPoint программно на C#. Существует лишь небольшая разница в коде для каждой цели, т.е. разные классы параметров OLE и его параметры для каждого формата файла:

  • OleWordProcessingOptions для встраивания объектов OLE в документ Word.
  • OleSpreadsheetOptions для встраивания объектов OLE в таблицы Excel.
  • OlePresentationOptions для встраивания объектов OLE в презентацию PowerPoint.

Вы можете узнать больше об API из документации или Давайте поговорим подробнее @ Бесплатный форум поддержки.