OLE je zkratka pro Object Linking and Embedding. Poskytuje jej společnost Microsoft a umožňuje vytvářet a upravovat dokumenty obsahující položky nebo objekty, které jsou vytvářeny různými aplikacemi.

Například můžete vložit tabulky, obrázky a zvukové klipy jako objekty OLE do dokumentu aplikace Word. Tyto objekty OLE můžete použít v dokumentu aplikace Word a nemusíte se starat o opakované přepínání na více aplikací. Takové objekty můžete vložit nebo vložit programově pomocí OLE v C#.

Tento článek vás provede tím, jak můžete:

Kroky v tomto článku a ukázky kódu používají GroupDocs.Merger for .NET. Ujistěte se tedy, že nainstalujete API některým z následujících způsobů:

  • Nainstalujte pomocí správce balíčků NuGet.
  • Stažení the DLL and reference it into the project.

Vložit PDF jako OLE objekt do dokumentu MS Word v C#

Vložit PDF jako OLE do dokumentu Word v C#

Zde jsou kroky a ukázka kódu C#, které ukazují, jak vložit soubor PDF do dokumentu aplikace Word jako objekt OLE:

  1. Vytvořte instanci OleWordProcessingOptions s možnostmi vkládání a dokumentem, který chcete vložit do dokumentu aplikace Word.
  2. Nyní vytvořte instanci objektu Merger se zdrojovou cestou dokumentu Word nebo streamem.
  3. Zavolejte metodu ImportDocument a předejte objekt možností zpracování textu OLE, které jsou nastaveny v kroku 1.
  4. A je to. Voláním metody Save získáte výsledný dokument aplikace Word, který má jako objekt OLE dokument PDF.
// 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");
}

Vložit dokument Word jako objekt OLE do tabulky Excel v C#

Vložit OLE souboru Word do tabulky Excel v C#

Objekty OLE můžeme vložit do tabulek Excelu. Ukázka kódu CSharp a níže uvedené kroky vysvětlující, jak přidat dokument aplikace Word do tabulky aplikace Excel jako objekt OLE:

  1. Vytvořte instanci OleSpreadsheetOptions s možnostmi vkládání a dokumentem, který chcete vložit do tabulky aplikace Excel.
  2. Nyní vytvořte instanci objektu Merger se zdrojovou cestou tabulky nebo streamem.
  3. Nyní zavolejte metodu ImportDocument a předejte objekt Možnosti tabulky OLE, které se nastavují v kroku 1.
  4. Nakonec zavolejte metodu Save, abyste získali výslednou tabulku aplikace Excel, která má jako objekt OLE dokument aplikace Word.
// 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");
}

Přidat PDF jako OLE objekt do PowerPointové prezentace v C#

Vložit PDF jako OLE do PowerPointové prezentace v C#

Podobně zde vkládáme objekty do powerpointové prezentace.

  1. Vytvořte instanci OlePresentationOptions s možnostmi vkládání a dokumentem, který chcete vložit do prezentace PowerPoint.
  2. Nyní vytvořte instanci objektu Merger se zdrojovou prezentační cestou nebo streamem.
  3. Zavolejte metodu ImportDocument a předejte objekt možností prezentace OLE, které se nastavují v kroku 1.
  4. Nakonec zavolejte metodu Save, abyste získali výslednou prezentaci PowerPoint s dokumentem PDF jako objektem 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");
}

Závěr

Diskutovali jsme o tom, jak snadno a rychle můžeme vkládat objekty OLE do dokumentů Word, Excel nebo PowerPoint programově v C#. Existuje pouze malý rozdíl v kódu pro každý cíl, tj. různé třídy voleb OLE a jejich možnosti pro každý formát souboru:

  • OleWordProcessingOptions pro vložení objektů OLE do dokumentu aplikace Word.
  • OleSpreadsheetMožnosti pro vložení objektů OLE do tabulek aplikace Excel.
  • OlePresentationOptions pro vložení objektů OLE do prezentace PowerPoint.

Více o API se můžete dozvědět z dokumentace nebo Pojďme si povídat více @ Free Support Forum.