Das VintaSoft Imaging .NET SDK bietet umfangreiche Funktionen zum Bearbeiten von PDF-Dokumenten im WinForms-/WPF-Viewer:
Die Möglichkeiten der visuellen Bearbeitung von PDF-Dokumenten werden in den Demoanwendungen
VintaSoft PDF Editor Demo (WinForms) und
VintaSoft WPF PDF Editor Demo (WPF) demonstriert.
Dieser Artikel bietet einen Überblick über die Funktionen zur visuellen Bearbeitung von PDF-Dokumentinhalten im WinForms-/WPF-Viewer.
PDF-Seiteninhalte im WinForms/WPF-Viewer bearbeiten
Das WinForms-Steuerelement
ImageViewer ermöglicht die Anzeige von Seiten eines PDF-Dokuments in einer WinForms-Anwendung. Das ImageViewer-Steuerelement kann das visuelle Werkzeug
PdfContentEditorTool zur Bearbeitung des PDF-Seiteninhalts im Viewer verwenden.
Das WPF-Steuerelement
WpfImageViewer ermöglicht die Anzeige von Seiten eines PDF-Dokuments in einer WPF-Anwendung. Es kann das visuelle Werkzeug
WpfPdfContentEditorTool zur Bearbeitung des PDF-Seiteninhalts im Viewer verwenden.
Hier ist der Code, der einen
ImageViewer mit einem
PdfContentEditorTool zum Anzeigen und Bearbeiten von PDF-Seiteninhalten in einer WinForms-Anwendung erstellt:
// The project, which uses this code, must have references to the following assemblies:
// - Vintasoft.Imaging
// - Vintasoft.Imaging.UI
// - Vintasoft.Imaging.Office.OpenXml
// - Vintasoft.Imaging.Office.OpenXml.UI
// - Vintasoft.Imaging.Pdf
// - Vintasoft.Imaging.Pdf.UI
// - Vintasoft.Imaging.Pdf.Office.UI
public partial class FormWithPdfEditorTool : System.Windows.Forms.Form
{
//...
Vintasoft.Imaging.UI.ImageViewer _imageViewer;
//...
/// <summary>
/// The PDF content editor tool.
/// </summary>
Vintasoft.Imaging.Pdf.UI.PdfContentEditorTool _contentEditorTool;
/// <summary>
/// The undo manager.
/// </summary>
Vintasoft.Imaging.Undo.UndoManager _undoManager = new Vintasoft.Imaging.Undo.UndoManager(20);
public FormWithPdfEditorTool()
{
//...
// initialize Vintasoft.Imaging.Pdf.Office.UI assembly
Vintasoft.Imaging.PdfOfficeUIAssembly.Init();
// create visual tool that allows to edit content on PDF page
_contentEditorTool = new Vintasoft.Imaging.Pdf.UI.PdfContentEditorTool();
// specify that PDF content editor tool should add and edit content on PDF page
_contentEditorTool.AppendMode = false;
// specify that PDF content editor tool should highlight content figures
_contentEditorTool.FiguresHighlight = true;
// specify that PDF content editor tool should not render figures on PDF page when current page is changed in image viewer
_contentEditorTool.RenderFiguresWhenImageIndexChanging = false;
// specify that PDF content editor tool should render figures on PDF page when PDF content editor tool is deactivating
_contentEditorTool.RenderFiguresWhenDeactivating = true;
// specify undo manager for PDF content editor tool
_contentEditorTool.UndoManager = _undoManager;
// specify that PDF content editor tool should work only with content of specified types
_contentEditorTool.InteractiveContentType =
Vintasoft.Imaging.Pdf.Drawing.GraphicsFigures.GraphicsFigureContentType.Text |
Vintasoft.Imaging.Pdf.Drawing.GraphicsFigures.GraphicsFigureContentType.Image |
Vintasoft.Imaging.Pdf.Drawing.GraphicsFigures.GraphicsFigureContentType.Form |
Vintasoft.Imaging.Pdf.Drawing.GraphicsFigures.GraphicsFigureContentType.StrokePath |
Vintasoft.Imaging.Pdf.Drawing.GraphicsFigures.GraphicsFigureContentType.FillPath;
// create visual tool that allows to edit text in text content on PDF page
Vintasoft.Imaging.Office.OpenXml.UI.VisualTools.UserInteraction.OfficeDocumentVisualEditorTextTool contentEditorTextTool =
new Vintasoft.Imaging.Office.OpenXml.UI.VisualTools.UserInteraction.OfficeDocumentVisualEditorTextTool();
// create the composite visual tool and set it as a current tool of image viewer
_imageViewer.VisualTool = new Vintasoft.Imaging.UI.VisualTools.CompositeVisualTool(contentEditorTextTool, _contentEditorTool);
}
//...
private void drawEllipseToolStripButton_Click(object sender, System.EventArgs e)
{
// start building an ellipse
_contentEditorTool.StartBuildEllipse(
new Vintasoft.Imaging.Pdf.Drawing.PdfPen(System.Drawing.Color.Red, 5),
new Vintasoft.Imaging.Pdf.Drawing.PdfBrush(System.Drawing.Color.Green));
}
}
Allgemeine Funktionen zum Bearbeiten von PDF-Seiteninhalten im WinForms/WPF-Viewer
Das SDK kann PDF-Seiteninhalte in die folgenden grafischen Elemente unterteilen:
- Text
- Bild
- Formular
- Pfadkontur
- Pfadfüllung
- Zuschneidebereich
- Musterbereich (Farbverlauf)
- Objektgruppe
Das
PdfContentEditorTool /
WpfPdfContentEditorTool ermöglicht das Anzeigen und Bearbeiten von Grafiken auf PDF-Seiten im Viewer.
Das
PdfContentEditorTool /
WpfPdfContentEditorTool ermöglicht Folgendes:
- Aktivieren/Deaktivieren der Bearbeitung von PDF-Seiteninhalten im Viewer (4)
- Bearbeitbare Inhaltselemente gruppieren (3)
- Markieren Sie Inhaltselemente im Viewer (2, 12)
- Wählen Sie den Typ der bearbeitbaren Elemente aus: Text, Bilder, Formulare, gefüllter Pfad, Musterbereich, Zuschneidebereich (1)
- Rufen Sie die Liste der bearbeitbaren Elemente ab (14)
- Rückgängig- und Wiederherstellen-Aktionen (5)
- Bearbeiten Sie den Text des ausgewählten Textelements (6)
- Ersetzen oder bearbeiten Sie das ausgewählte Formular oder Bild (7)
- Legen Sie die Eigenschaften des Elements fest: Stiftfarbe und -stärke, Füllfarbe, Transparenz, Textdarstellungsmodus usw. (8)
- Transformieren (Verschieben, Skalieren, Drehen) des ausgewählten Elements im Viewer (15)
- Programmgesteuerte Transformation (Drehen, Spiegeln oder Freie Transformation) des ausgewählten Elements (9)
- Zuschneidebereich für ausgewählte Abbildung festlegen (10)
- Neue Abbildungen hinzufügen (Text, Bilder, Grafiken, Diagramme usw.) (11)
- Abbildung beliebigen Typs löschen, kopieren oder einfügen (16)
- Abbildung an der angegebenen Position auswählen (17)
Hier ist ein Screenshot der Anwendung PdfEditorDemo, der die Hauptansicht des visuellen PDF-Inhaltseditors in PdfEditorDemo darstellt (jede Ziffer entspricht der obigen Liste):
Bearbeiten von Rich Text auf einer PDF-Seite im WinForms/WPF-Viewer
Das SDK stellt die Klasse
OfficeDocumentVisualEditor bereit, die den Rich-Text-Editor im WinForms/WPF-Viewer repräsentiert.
PdfContentEditorTool /
WpfPdfContentEditorTool verwendet den Rich-Text-Editor (
OfficeDocumentVisualEditor) zum Bearbeiten von Objekten vom Typ "Textinhaltsgruppe". (
ContentStreamGraphicsFigureTextGroup) auf der PDF-Seite im Viewer.
Die Bearbeitung des ausgewählten Textobjekts kann auf verschiedene Arten gestartet werden:
Der Rich-Text-Editor (
OfficeDocumentVisualEditor) ermöglicht Folgendes:
- Transformieren (Größe ändern, verschieben) des Textbereichs
- Text ändern
- Texteigenschaften ändern: Schriftart, Größe, Farbe, Fett, Kursiv, Unterstrichen, Hochgestellt, Tiefgestellt, Horizontale Skalierung, Zeichenabstand
- Horizontale Textausrichtung ändern: Links, Rechts, Zentriert, Breite
- Absatzeinzug ändern
- Absatzhintergrundfarbe ändern
- Zeilenabstand ändern
- Nummerierte Liste erstellen
Hier ist ein Screenshot der Anwendung PdfEditorDemo, der die Text- und Absatzeigenschaften beim Bearbeiten von formatiertem Text zeigt:
Hier ist ein Screenshot der Anwendung PdfEditorDemo, der den bearbeiteten Textblock zeigt:
Vektorgrafiken auf einer PDF-Seite im WinForms/WPF-Viewer bearbeiten
PdfContentEditorTool /
WpfPdfContentEditorTool ermöglicht die Verwendung der Maus zum Transformieren, Kopieren und Ändern von Vektorgrafiken auf einer PDF-Seite im WinForms/WPF-Viewer.
Hier ist ein Screenshot der Anwendung PdfEditorDemo, der zeigt, wie man Vektorgrafiken auf einer PDF-Seite auswählt und transformiert:
Die Methode
PdfContentEditorTool.SetContentGraphicsProperties ermöglicht das Festlegen des Grafikstatus einer Grafikfigur.
Hier ist ein Screenshot der Anwendung PdfEditorDemo, der zeigt, wie man Figuren gruppiert und die Grafikeigenschaften von Vektorgrafiken auf einer PDF-Seite ändert:
Bild oder Formular auf einer PDF-Seite im WinForms/WPF-Viewer ersetzen
Ein vorhandenes Bild oder Formular auf einer PDF-Seite im WinForms/WPF-Viewer kann mithilfe der Methode
PdfContentEditorTool.ReplaceResource ersetzt werden.
Hier ist ein Screenshot von Die Anwendung PdfEditorDemo zeigt einen Dialog mit Informationen zur Bildressource des ausgewählten Bildes auf einer PDF-Seite:
Hier ist ein Screenshot der Anwendung PdfEditorDemo, der zeigt, wie eine neue Bildressource aus einer Bilddatei erstellt und als Bildressource für das ausgewählte Bild auf der PDF-Seite verwendet wird:
Hier ist ein Screenshot der Anwendung PdfEditorDemo, der das geänderte Bild auf der PDF-Seite anzeigt:
Erstellen, Ändern und Löschen des Beschneidungsbereichs für Abbildungen auf PDF-Seiten im WinForms/WPF-Viewer
Ein neuer Clipping-Bereich kann jeder Abbildung auf einer PDF-Seite mit Hilfe der Methode
PdfContentEditorTool.AddFigureClip hinzugefügt werden.
Hier ist ein Screenshot der Anwendung PdfEditorDemo, der zeigt, wie der elliptische Beschneidungsbereich für ein Bild auf einer PDF-Seite festgelegt wird:
Ein vorhandener Beschneidungsbereich für eine beliebige Abbildung auf einer PDF-Seite kann mit der Maus ausgewählt, transformiert oder gelöscht werden.
Hier ist ein Screenshot der Anwendung PdfEditorDemo, der die Transformation des Bildausschnittbereichs auf einer PDF-Seite demonstriert:
Grafiken in WinForms/WPF-Viewer auf PDF-Seite hinzufügen
Das
PdfContentEditorTool ermöglicht das Hinzufügen der folgenden grafischen Elemente zu einer PDF-Seite:
- Textzeile
- Textfeld
- Formatierter Text
- Diagramm
- Markup basierend auf einem DOCX-Dokument
- Seite eines PDF- oder DOCX-Dokuments
- Bild in einem beliebigen unterstützten Format
- Formular oder Bildressource aus dem aktuellen oder einem anderen PDF-Dokument
- Rechteck
- Ellipse
- Polygon
- Polylinie
- Kurven
Die Methode
PdfContentEditorTool.AddFigure ermöglicht das Hinzufügen von Grafiken zu einer PDF-Seite.
Die Methode
PdfContentEditorTool.StartBuildFigure ermöglicht es, mit der Maus den Aufbau einer grafischen Figur auf einer PDF-Seite zu starten.
Hier ist ein Screenshot der Anwendung PdfEditorDemo, der zeigt, wie man Grafiken auf eine PDF-Seite hinzufügt:
Diagramme in WinForms/WPF-Viewer auf PDF-Seite hinzufügen
Das SDK stellt die Klasse OfficeDocumentFigure
OfficeDocumentFigure bereit, mit der sich eine DOCX-Seite auf einer PDF-Seite zeichnen lässt.
Die PDF-Editor-Demo zeigt, wie man eine DOCX-Seite mit Diagramm in eine PDF-Seite einfügt (hinzufügen/erstellen
OfficeDocumentFigure auf der PDF-Seite mithilfe der Methode
PdfContentEditorTool.AddFigure /
PdfContentEditorTool.StartBuildFigure).
Hier ist ein Screenshot der Anwendung PdfEditorDemo, der zeigt, wie man ein Diagramm zum Hinzufügen auf eine PDF-Seite auswählt:
Die PDF Editor Demo zeigt auch, wie man die Diagrammdaten ändert und die Diagrammänderungen im Viewer auf der PDF-Seite anzeigt.
Hier ist ein Screenshot der Anwendung PdfEditorDemo, der zeigt, wie Sie das Diagramm auf einer PDF-Seite auswählen und dessen Eigenschaften bearbeiten:
Anforderungen für die Bearbeitung von PDF-Seiteninhalten im WinForms/WPF-Viewer
Wenn Sie PDF-Seiteninhalte im WinForms/WPF-Viewer bearbeiten möchten, benötigen Sie die folgenden VintaSoft-Produkte: