Verwalten von Präsentations‑Tintenobjekten in .NET
Einleitung
PowerPoint bietet eine Tinten‑Funktion, mit der Sie Freihand‑Striche zeichnen können. Tinte kann verwendet werden, um andere Objekte hervorzuheben, Verbindungen und Prozesse darzustellen und die Aufmerksamkeit auf bestimmte Elemente einer Folie zu lenken.
Der Namespace Aspose.Slides.Ink enthält die Klassen und Schnittstellen, die zum Arbeiten mit Tinten‑Objekten erforderlich sind. Zum Beispiel repräsentiert die Schnittstelle IInk ein Tinten‑Objekt auf einer Folie.
Unterschiede zwischen regulären Objekten und Tinten‑Objekten
Objekte auf einer PowerPoint‑Folie werden typischerweise durch Shape‑Objekte dargestellt. In seiner einfachsten Form ist ein Shape ein Container, der den Bereich des eigentlichen Objekts (sein Rahmen) zusammen mit Eigenschaften wie Container‑Größe, Form und Hintergrund definiert. Weitere Informationen finden Sie unter Shape Layout Format.
Wenn PowerPoint jedoch ein Tinten‑Objekt verarbeitet, ignoriert es alle Eigenschaften des Objekt‑Rahmens (Containers) außer seiner Größe. Die Größe des Container‑Bereichs wird durch die Standard‑Eigenschaften IShape.Width und IShape.Height bestimmt:

Tinten‑Spuren
Eine Tinten‑Spur ist ein Basiselement, das die Trajektorie eines Stifts aufzeichnet, während ein Benutzer digitale Tinte schreibt. Eine Spur speichert eine Sequenz verbundener Punkte.
Die einfachste Form der Kodierung gibt die X‑ und Y‑Koordinaten jedes Abtastpunkts an. Wenn alle verbundenen Punkte gerendert werden, entsteht ein Bild wie dieses:

Pinsel‑Eigenschaften zum Zeichnen
Ein Pinsel wird verwendet, um Linien zu zeichnen, die die Punkte einer Tinten‑Spur verbinden. Der Pinsel hat seine eigene Farbe und Größe, dargestellt durch die Eigenschaften IInkBrush.Color und IInkBrush.Size.
Ink‑Pinsel‑Farbe festlegen
Dieser C#‑Code zeigt, wie die Farbe eines Ink‑Pinsels festgelegt wird:
using System.Drawing;
using Aspose.Slides;
using Aspose.Slides.Ink;
using var presentation = new Presentation("pres.pptx");
var ink = (IInk)presentation.Slides[0].Shapes[0];
var brush = ink.Traces[0].Brush;
brush.Color = Color.Red;
Ink‑Pinsel‑Größe festlegen
Dieser C#‑Code zeigt, wie die Größe eines Ink‑Pinsels festgelegt wird:
using System.Drawing;
using Aspose.Slides;
using Aspose.Slides.Ink;
using var presentation = new Presentation("pres.pptx");
var ink = (IInk)presentation.Slides[0].Shapes[0];
var brush = ink.Traces[0].Brush;
brush.Size = new SizeF(5f, 10f);
Im Allgemeinen stimmen Breite und Höhe eines Pinsels nicht überein, sodass PowerPoint die Pinsel‑Größe nicht anzeigt (der entsprechende Datenbereich ist ausgegraut). Stimmen Breite und Höhe des Pinsels überein, zeigt PowerPoint die Größe folgendermaßen an:

Zur Verdeutlichung erhöhen wir die Höhe des Tinten‑Objekts und betrachten die wichtigen Abmessungen:

Der Container (Rahmen) berücksichtigt die Größe der Pinsel nicht – er geht stets davon aus, dass die Linienstärke Null ist (siehe das vorherige Bild).
Daher muss zur Bestimmung des sichtbaren Bereichs des gesamten Tinten‑Objekts die Pinselgröße seiner Spuren berücksichtigt werden. Hier wurde das Zielobjekt (die handschriftliche Textspur) auf die Größe des Containers (Rahmens) skaliert. Ändert sich die Größe des Containers, bleibt die Pinselgröße konstant und umgekehrt.

PowerPoint verwendet ein ähnliches Verhalten für Textobjekte:

Steuerung des Tinten‑Aussehens beim Export und Rendering
Aspose.Slides stellt die Schnittstelle IInkOptions bereit, um zu steuern, wie Tinten‑Objekte im exportierten oder gerenderten Ergebnis erscheinen. Mit ihren Eigenschaften können Sie Tinte vollständig ausblenden oder ändern, wie Tinten‑Pinsel‑Masken‑Operationen interpretiert werden.
Ink‑Optionen stehen über die Export‑ bzw. Rendering‑Optionen für mehrere Ausgabetypen zur Verfügung:
| Ausgabe | Ink‑Optionen‑Eigenschaft |
|---|---|
PdfOptions.InkOptions |
|
| HTML | HtmlOptions.InkOptions |
| SVG | SVGOptions.InkOptions |
| TIFF | TiffOptions.InkOptions |
| Folien‑Bild | RenderingOptions.InkOptions |
Über diese Eigenschaften stehen dieselben beiden Einstellungen zur Verfügung:
HideInkbestimmt, ob Tinten‑Objekte in die Ausgabe einbezogen werden. Der Standardwert istfalse.InterpretMaskOpAsOpacitybestimmt, ob eine Masken‑Operation beim Rendern eines Tinten‑Pinsels als Opazität interpretiert wird. Der Standardwert isttrue; setzen Sie ihn auffalse, um stattdessen die ROP‑Operation zu verwenden.
Tinten‑Objekte im PDF‑Export ausblenden
Standardmäßig bleiben Tinten‑Objekte beim Export sichtbar. Setzen Sie IInkOptions.HideInk auf true, wenn Sie ein sauberes Ergebnis ohne handschriftliche Anmerkungen oder andere Tinten‑Inhalte benötigen.
Das folgende C#‑Beispiel exportiert eine Präsentation als PDF und blendet alle Tinten‑Objekte aus:
using Aspose.Slides;
using Aspose.Slides.Export;
using var presentation = new Presentation("presentation.pptx");
var pdfOptions = new PdfOptions();
pdfOptions.InkOptions.HideInk = true;
presentation.Save("presentation_without_ink.pdf", SaveFormat.Pdf, pdfOptions);
Tinten‑Objekte beim Rendern einer Folie als Bild ausblenden
Um Tinten‑Objekte beim Rendern von Folien als Bitmap‑Bilder auszublenden, konfigurieren Sie RenderingOptions.InkOptions und übergeben die Rendering‑Optionen an die Methode ISlide.GetImage.
Das folgende C#‑Beispiel rendert die erste Folie als PNG‑Bild ohne Tinten‑Objekte:
using Aspose.Slides;
using Aspose.Slides.Export;
using var presentation = new Presentation("presentation.pptx");
var renderingOptions = new RenderingOptions();
renderingOptions.InkOptions.HideInk = true;
using var image = presentation.Slides[0].GetImage(renderingOptions);
image.Save("slide_without_ink.png", ImageFormat.Png);
Steuerung des Renderns von Tinten‑Masken
Die Eigenschaft IInkOptions.InterpretMaskOpAsOpacity steuert, wie Masken‑Operationen beim Rendern von Tinten‑Pinseln interpretiert werden. Der Standardwert ist true (Opazität). Setzen Sie die Eigenschaft auf false, um stattdessen die ROP‑Operation zu verwenden.
Das folgende C#‑Beispiel exportiert eine Folie als SVG und verwendet ROP‑basiertes Rendering für Tinten‑Masken‑Operationen:
using System.IO;
using Aspose.Slides;
using Aspose.Slides.Export;
using var presentation = new Presentation("presentation.pptx");
var svgOptions = new SVGOptions();
svgOptions.InkOptions.InterpretMaskOpAsOpacity = false;
using var stream = File.Create("slide.svg");
presentation.Slides[0].WriteAsSvg(stream, svgOptions);
Dasselbe Setting kann über TiffOptions.InkOptions angewendet werden, wenn eine Präsentation exportiert oder eine Folie als TIFF gerendert wird.
Auswählen, ob Tinte ausgeblendet oder erhalten bleibt
Verwenden Sie IInkOptions.HideInk mit dem Wert true, wenn die exportierte Datei eine saubere Version einer annotierten Präsentation sein soll, z. B. eine endgültige Kopie zur Verteilung ohne Review‑Markierungen.
Belassen Sie IInkOptions.HideInk auf dem Standardwert false, wenn Tinten‑Anmerkungen Teil des beabsichtigten Inhalts sind, etwa Review‑Kommentare, handschriftliche Notizen, Hervorhebungen oder Zeichnungen, die im exportierten Ergebnis sichtbar bleiben sollen. So können Anwendungen aus derselben Präsentation separate Review‑ und Final‑Ausgaben erzeugen, ohne die Quell‑Tinten‑Objekte zu ändern.
FAQ
Kann ich die Farbe oder Größe eines vorhandenen Tinten‑Strichs ändern?
Ja. Holen Sie die Spur aus IInk.Traces, und ändern Sie dann deren IInkTrace.Brush. Sie können die Eigenschaften IInkBrush.Color und IInkBrush.Size des Pinsels setzen.
Ändert das Ausblenden von Tinte die Quell‑Präsentation?
Nein. IInkOptions.HideInk wirkt sich nur auf das gerenderte oder exportierte Ergebnis aus; es entfernt oder verändert keine Tinten‑Objekte in der Quell‑Präsentation.
Welche Export‑Formate unterstützen Ink‑Optionen?
Sie können Ink‑Optionen für PDF, HTML, SVG, TIFF und Bitmap‑Folien‑Bilder über die oben gezeigten entsprechenden Export‑ bzw. Rendering‑Optionen konfigurieren.
Weiterführende Lektüre
- Informationen zu Shapes allgemein finden Sie im Abschnitt PowerPoint Shapes.
- Für Details zu effektiven Werten siehe Shape Effective Properties.
- Details zum PDF‑Export: Convert PPT and PPTX to PDF.
- Details zum HTML‑Export: Convert PowerPoint Presentations to HTML.
- Details zum SVG‑Export: Render Presentation Slides as SVG Images.
- Details zum TIFF‑Export: Convert PowerPoint Presentations to TIFF.
- Details zum Rendern von Folien zu Bildern: Convert Presentation Slides to Images.