OLE staat voor Object Linking and Embedding. Het wordt geleverd door Microsoft en stelt u in staat documenten te maken en te bewerken die items of objecten bevatten die door verschillende toepassingen zijn gemaakt.

U kunt bijvoorbeeld spreadsheets, afbeeldingen en geluidsfragmenten insluiten als OLE-objecten in een Word-document. U kunt deze OLE-objecten in het Word-document gebruiken en hoeft u zich geen zorgen te maken dat u steeds weer naar meerdere toepassingen moet overschakelen. U kunt dergelijke objecten programmatisch insluiten of invoegen met OLE in C#.

In dit artikel wordt uitgelegd hoe u het volgende kunt doen:

Stappen in dit artikel en codevoorbeelden gebruiken GroupDocs.Merger for .NET. Zorg er dus voor dat u de API installeert via een van de volgende methoden:

  • Installeer met behulp van NuGet Pakketbeheer.
  • Downloaden the DLL and reference it into the project.

PDF invoegen als OLE-object in MS Word-document in C#

PDF invoegen als OLE in Word-document in C#

Hier volgen de stappen en een C#-codevoorbeeld om te laten zien hoe u een PDF-bestand als een OLE-object in een Word-document kunt insluiten:

  1. Instantiseer de OleWordProcessingOptions met insluitopties en het document dat u wilt insluiten in een Word-document.
  2. Maak nu een instantie van het Merger-object met het pad of de stroom van het brondocument in Word.
  3. Roep de methode ImportDocument aan en geef het object van de OLE-tekstverwerkingsopties door die in stap 1 zijn ingesteld.
  4. Dat is het. Roep de methode Opslaan aan om het resulterende Word-document op te halen met een PDF-document als OLE-object.
// 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-document invoegen als OLE-object in Excel-spreadsheet in C#

OLE van Word-bestand invoegen in Excel-spreadsheet in C#

We kunnen OLE-objecten insluiten in Excel-spreadsheets. CSharp-codevoorbeeld en stappen hieronder waarin wordt uitgelegd hoe u een Word-document als een OLE-object aan een Excel-spreadsheet kunt toevoegen:

  1. Instantiseer de OleSpreadsheetOptions met insluitopties en het document dat u wilt insluiten in een Excel-spreadsheet.
  2. Maak nu een instantie van het Merger-object met het bronspreadsheetpad of -stream.
  3. Roep nu de methode ImportDocument aan en geef het object van de OLE-spreadsheetopties door die in stap 1 zijn ingesteld.
  4. Roep ten slotte de methode Opslaan aan om de resulterende Excel-spreadsheet te krijgen met een Word-document als een OLE-object.
// 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 als OLE-object toevoegen aan PowerPoint-presentatie in C#

PDF invoegen als OLE in PowerPoint-presentatie in C#

Op dezelfde manier voegen we hier objecten in een PowerPoint-presentatie in.

  1. Instantiseer de OlePresentationOptions met insluitopties en het document dat u wilt insluiten in een PowerPoint-presentatie.
  2. Maak nu een instantie van het Merger-object met het bronpresentatiepad of de stream.
  3. Roep de methode ImportDocument aan en geef het object door van de OLE-presentatieopties die zijn ingesteld in stap 1.
  4. Roep ten slotte de methode Opslaan aan om de resulterende PowerPoint-presentatie te krijgen met een PDF-document als een OLE-object.
// 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");
}

Conclusie

We hebben besproken hoe gemakkelijk en snel we OLE-objecten programmatisch kunnen invoegen in Word-, Excel- of PowerPoint-documenten in C#. Er is slechts een klein verschil in code voor elk doel, dwz verschillende OLE-optieklassen en de bijbehorende opties voor elk bestandsformaat:

  • OleWordProcessingOpties om OLE-objecten in te sluiten in een Word-document.
  • OleSpreadsheetOpties om OLE-objecten in Excel-spreadsheets in te sluiten.
  • OlePresentationOpties om OLE-objecten in PowerPoint-presentatie in te sluiten.

Meer informatie over de API vindt u in de documentatie of Let’s talk more @ Free Support Forum.