VintaSoft Imaging .NET SDK offre de nombreuses fonctionnalités pour la modification de documents PDF dans une visionneuse WinForms/WPF:
Les capacités d'édition visuelle de documents PDF sont démontrées dans les applications de démonstration
VintaSoft PDF Editor Demo (WinForms) et
VintaSoft WPF PDF Editor Demo (WPF).
Cet article présente les fonctionnalités de modification visuelle du contenu des documents PDF dans une visionneuse WinForms/WPF.
Modifier le contenu d'une page PDF dans la visionneuse WinForms/WPF
Contrôle WinForms
ImageViewer permet d'afficher les pages d'un document PDF dans une application WinForms. Le contrôle ImageViewer peut utiliser l'outil visuel
PdfContentEditorTool permet de modifier le contenu des pages PDF dans la visionneuse.
Contrôle WPF
WpfImageViewer permet d'afficher les pages d'un document PDF dans une application WPF. Le contrôle WpfImageViewer peut utiliser l'outil visuel
WpfPdfContentEditorTool pour la modification du contenu des pages PDF dans la visionneuse.
Voici le code qui crée
ImageViewer avec
PdfContentEditorTool pour afficher et modifier le contenu des pages PDF dans une application WinForms:
// 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));
}
}
Fonctionnalités générales pour la modification du contenu d'une page PDF dans la visionneuse WinForms/WPF
Le SDK peut diviser le contenu d'une page PDF en figures graphiques:
- Texte
- Image
- Formulaire
- Contour
- Remplissage
- Zone de recadrage
- Zone de motif (dégradé)
- Groupe d'objets
PdfContentEditorTool /
WpfPdfContentEditorTool permet d'afficher et de modifier des figures graphiques sur une page PDF dans la visionneuse.
PdfContentEditorTool /
WpfPdfContentEditorTool permet de:
- Activer/désactiver la possibilité de modifier le contenu d'une page PDF dans la visionneuse (4)
- Figures de contenu modifiables du groupe (3)
- Mettre en surbrillance les figures de contenu dans la visionneuse (2, 12)
- Sélectionner le type de figures modifiables: texte, images, formulaires, tracé rempli, zone de motif, zone de recadrage (1)
- Obtenir la liste des figures modifiables (14)
- Opérations Annuler et Rétablir (5)
- Modifier le texte de la figure de texte sélectionnée (6)
- Remplacer ou modifier le formulaire ou l’image sélectionnée (7)
- Définir les propriétés de la figure: couleur et épaisseur du trait, couleur de remplissage, transparence, mode de rendu du texte, etc. (8)
- Transformer (déplacer, redimensionner, faire pivoter) la figure sélectionnée dans la visionneuse (15)
- Transformer par programmation (rotation, retournement ou transformation libre) la figure sélectionnée (9)
- Définir une zone de recadrage pour la figure sélectionnée (10)
- Ajouter de nouvelles figures (texte, images, graphiques, diagrammes, etc.) (11)
- Supprimer, copier,Coller une figure de tout type (16)
- Sélectionner une figure située à l'endroit spécifié (17)
Voici une capture d'écran de l'application PdfEditorDemo, qui représente la vue principale de l'éditeur visuel de contenu PDF dans PdfEditorDemo (chaque chiffre correspond à la liste ci-dessus):
Modifier le texte enrichi sur une page PDF dans la visionneuse WinForms/WPF
Le SDK fournit la classe
OfficeDocumentVisualEditor qui représente l'éditeur de texte enrichi dans la visionneuse WinForms/WPF.
PdfContentEditorTool /
WpfPdfContentEditorTool utilise l'éditeur de texte enrichi (
OfficeDocumentVisualEditor) pour l'édition d'un objet de type " Groupe de contenu texte " (
ContentStreamGraphicsFigureTextGroup) sur une page PDF dans la visionneuse.
Le processus d'édition de l'objet texte sélectionné peut être lancé de plusieurs manières:
L'éditeur de texte enrichi (
OfficeDocumentVisualEditor) permet de:
- Transformer (redimensionner, déplacer) la zone de texte
- Modifier le texte
- Modifier les propriétés du texte: police, taille, couleur, gras, italique, souligné, Exposant, indice, échelle horizontale, espacement des caractères
- modifier l'alignement horizontal du texte: gauche, droite, centre, largeur
- modifier le retrait de paragraphe
- modifier la couleur d'arrière-plan du paragraphe
- modifier l'interligne
- créer une liste numérotée
Voici une capture d'écran de l'application PdfEditorDemo, qui illustre les propriétés du texte et des paragraphes lors de la modification du texte enrichi:
Voici une capture d'écran de l'application PdfEditorDemo, qui illustre le bloc de texte modifié:
Modifier les graphiques vectoriels sur une page PDF dans la visionneuse WinForms/WPF
PdfContentEditorTool /
WpfPdfContentEditorTool permet d'utiliser la souris pour transformer, copier et modifier des graphiques vectoriels sur une page PDF dans la visionneuse WinForms/WPF.
Voici une capture d'écran de l'application PdfEditorDemo, qui illustre comment sélectionner et transformer une figure graphique vectorielle sur une page PDF:
La méthode
PdfContentEditorTool.SetContentGraphicsProperties permet de définir l'état graphique de la figure graphique.
Voici une capture d'écran de l'application PdfEditorDemo, qui montre comment dissocier des figures et modifier les propriétés graphiques d'une figure vectorielle sur une page PDF:
Remplacer une image ou un formulaire sur une page PDF dans la visionneuse WinForms/WPF
Une image ou un formulaire existant sur une page PDF dans la visionneuse WinForms/WPF peut être remplacé à l'aide de la méthode
PdfContentEditorTool.ReplaceResource.
Voici une capture d'écran de l'application PdfEditorDemo, qui montre une boîte de dialogue contenant des informations sur la ressource image de l'image sélectionnée sur la page PDF:
Voici une capture d'écran de l'application PdfEditorDemo, qui montre comment créer une nouvelle ressource image à partir d'un fichier image et l'utiliser comme ressource image pour l'image sélectionnée sur la page PDF:
Voici une capture d'écran de l'application PdfEditorDemo, qui affiche l'image modifiée sur la page PDF:
Créer, modifier et supprimer la zone de détourage d'une figure sur une page PDF dans la visionneuse WinForms/WPF
Une nouvelle zone de détourage peut être ajoutée à n'importe quelle figure sur une page PDF à l'aide de la méthode
PdfContentEditorTool.AddFigureClip.
Voici une capture d'écran de l'application PdfEditorDemo, qui montre comment définir la zone de détourage elliptique d'une image sur une page PDF:
Une zone de détourage existante pour n'importe quelle figure sur une page PDF peut être sélectionnée, modifiée ou supprimée à l'aide de la souris.
Voici une capture d'écran de l'application PdfEditorDemo, qui montre la transformation de la zone de détourage d'une image sur une page PDF:
Ajouter des graphiques à une page PDF dans la visionneuse WinForms/WPF
L'outil
PdfContentEditorTool permet d'ajouter les figures graphiques suivantes sur une page PDF:
- Ligne de texte
- Zone de texte
- Texte formaté
- Graphique
- Balises basées sur un document DOCX
- Page d'un document PDF ou DOCX
- Image de tout format pris en charge
- Formulaire ou ressource image provenant du document PDF actuel ou d'un autre document PDF
- Rectangle
- Ellipse
- Polygone
- Polyligne
- Courbes
La méthode
PdfContentEditorTool.AddFigure permet d'ajouter une figure graphique sur une page PDF.
La méthode
PdfContentEditorTool.StartBuildFigure permet de commencer la construction d'une figure graphique sur une page PDF à l'aide de la souris.
Voici une capture d'écran de L'application PdfEditorDemo montre comment ajouter des graphiques à une page PDF:
Ajouter des graphiques à une page PDF dans la visionneuse WinForms/WPF
Le SDK fournit
OfficeDocumentFigure classe qui permet de dessiner une page DOCX sur une page PDF.
L'application de démonstration "PDF Editor Demo" montre comment ajouter une page DOCX contenant un graphique à une page PDF (ajouter/créer une
OfficeDocumentFigure sur une page PDF à l'aide de
PdfContentEditorTool.AddFigure /
PdfContentEditorTool.StartBuildFigure méthode).
Voici une capture d'écran de l'application PdfEditorDemo, qui montre comment sélectionner un graphique à ajouter à une page PDF:
L'application PDF Editor Demo montre également comment modifier les données du graphique et visualiser les modifications du graphique sur la page PDF dans la visionneuse.
Voici une capture d'écran de l'application PdfEditorDemo, qui montre comment sélectionner un graphique sur une page PDF et modifier ses propriétés:
Configuration requise pour la modification du contenu d'une page PDF dans une visionneuse WinForms/WPF
Pour modifier le contenu d'une page PDF dans une visionneuse WinForms/WPF, les produits VintaSoft suivants sont nécessaires: