El VintaSoft Imaging .NET SDK cuenta con amplias funciones para editar documentos PDF en el visor de WinForms/WPF:
Las funciones de edición visual de documentos PDF se muestran en las aplicaciones de demostración
VintaSoft PDF Editor Demo (WinForms) y
VintaSoft WPF PDF Editor Demo (WPF).
Este artículo ofrece una descripción general de la funcionalidad para la edición visual del contenido de documentos PDF en el visor WinForms/WPF.
Editar el contenido de una página PDF en el visor WinForms/WPF.
El control WinForms
ImageViewer permite mostrar páginas de documentos PDF en una aplicación WinForms. El control ImageViewer puede usar la herramienta visual
PdfContentEditorTool para editar el contenido de una página PDF en el visor.
El control WPF
WpfImageViewer permite mostrar páginas de documentos PDF en aplicaciones WPF. El control WpfImageViewer puede usar la herramienta visual
WpfPdfContentEditorTool para editar el contenido de las páginas PDF en el visor.
Aquí está el código que crea
ImageViewer con
PdfContentEditorTool para visualizar y editar el contenido de páginas PDF en aplicaciones 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));
}
}
Funciones generales para la edición de contenido de páginas PDF en el visor WinForms/WPF
El SDK puede dividir el contenido de páginas PDF en las siguientes figuras gráficas:
- Texto
- Imagen
- Formulario
- Contorno de trazado
- Relleno de trazado
- Área de recorte
- Área de patrón (degradado)
- Grupo de objetos
La
PdfContentEditorTool /
WpfPdfContentEditorTool permite mostrar y editar figuras gráficas en la página PDF en el visor.
La
PdfContentEditorTool /
WpfPdfContentEditorTool permite:
- Habilitar/deshabilitar la capacidad de editar el contenido de la página PDF en el visor (4)
- Agrupar figuras de contenido editables (3)
- Resaltar figuras de contenido en el visor (2, 12)
- Seleccionar el tipo de figuras editables: texto, imágenes, formularios, ruta rellena, área de patrón, área de recorte (1)
- Obtener lista de figuras editables (14)
- Operaciones Deshacer y Rehacer (5)
- Editar texto de la figura de texto seleccionada (6)
- Reemplazar o editar la forma o imagen seleccionada (7)
- Establecer las propiedades de la figura: color y grosor del lápiz, color de relleno, transparencia, modo de representación de texto, etc. (8)
- Transformar (mover, redimensionar, rotar) la figura seleccionada en el visor (15)
- Transformar programáticamente (rotar, voltear o transformación libre) la figura seleccionada (9)
- Establecer un área de recorte para la figura seleccionada (10)
- Añadir nuevas figuras (texto, imágenes, gráficos, tablas, etc.) (11)
- Eliminar, copiar, pegar una figura de cualquier tipo (16)
- Seleccionar una figura ubicada en el punto especificado (17)
Aquí hay una captura de pantalla de la aplicación PdfEditorDemo, que representa la vista principal del editor visual de contenido PDF en PdfEditorDemo (cada dígito corresponde a la lista anterior):
Editar texto enriquecido en la página PDF en el visor WinForms/WPF
El SDK proporciona
OfficeDocumentVisualEditor que representa el editor de texto enriquecido en el visor de WinForms/WPF.
PdfContentEditorTool /
WpfPdfContentEditorTool utiliza el editor de texto enriquecido (
OfficeDocumentVisualEditor) para editar el objeto de tipo "Grupo de contenido de texto" (
ContentStreamGraphicsFigureTextGroup) en la página PDF en el visor.
El proceso de edición del objeto de texto seleccionado se puede iniciar de varias maneras:
El editor de texto enriquecido (
OfficeDocumentVisualEditor) permite:
- transformar (redimensionar, mover) el área de texto
- cambiar texto
- cambiar propiedades del texto: fuente, tamaño, color, negrita, cursiva, subrayado, superíndice, subíndice, escala horizontal, espaciado entre caracteres
- cambiar la alineación horizontal del texto: izquierda, derecha, centrado, ancho
- cambiar sangría de párrafo
- cambiar color de fondo del párrafo
- cambiar interlineado
- crear lista numerada
Aquí hay una captura de pantalla de la aplicación PdfEditorDemo, que muestra las propiedades del texto y del párrafo mientras se edita el texto enriquecido:
Aquí hay una captura de pantalla de la aplicación PdfEditorDemo, que demuestra el bloque de texto editado:
Editar gráficos vectoriales en la página PDF en el visor WinForms/WPF
PdfContentEditorTool /
WpfPdfContentEditorTool permite usar el ratón para transformar, copiar y cambiar gráficos vectoriales en la página PDF en el visor WinForms/WPF.
Aquí hay una captura de pantalla de Aplicación PdfEditorDemo, que demuestra cómo seleccionar y transformar figuras de gráficos vectoriales en una página PDF:
El método
PdfContentEditorTool.SetContentGraphicsProperties permite establecer el estado de los gráficos de una figura gráfica.
Aquí hay una captura de pantalla de la aplicación PdfEditorDemo, que demuestra cómo desagrupar figuras y cambiar las propiedades del estado gráfico para la figura de gráficos vectoriales en la página PDF:
Reemplazar imagen o formulario en la página PDF en el visor de WinForms/WPF
Una imagen o formulario existente en la página PDF en el visor de WinForms/WPF se puede reemplazar usando
PdfContentEditorTool.ReplaceResource.
Aquí se muestra una captura de pantalla de la aplicación PdfEditorDemo, que muestra un cuadro de diálogo con información sobre el recurso de imagen de la imagen seleccionada en la página PDF:
Aquí se muestra una captura de pantalla de la aplicación PdfEditorDemo, que muestra cómo crear un nuevo recurso de imagen a partir de un archivo de imagen y usarlo como recurso de imagen para la imagen seleccionada en la página PDF:
Aquí hay una captura de pantalla de la aplicación PdfEditorDemo, que muestra la imagen modificada en la página PDF:
Crear, cambiar y eliminar el área de recorte para la figura en la página PDF en el visor de WinForms/WPF
Se puede agregar una nueva área de recorte a cualquier figura en la página PDF usando
Método PdfContentEditorTool.AddFigureClip.
Aquí hay una captura de pantalla de la aplicación PdfEditorDemo, que demuestra cómo configurar el área de recorte elíptica para la imagen en la página PDF:
Un área de recorte existente para cualquier figura en la página PDF puede ser seleccionado, transformado o eliminado usando el ratón.
Aquí hay una captura de pantalla de la aplicación PdfEditorDemo, que demuestra la transformación del área de recorte de imagen en la página PDF:
Agregar gráficos a la página PDF en el visor WinForms/WPF
La
PdfContentEditorTool permite agregar siguientes figuras gráficas en una página PDF:
- Línea de texto
- Cuadro de texto
- Texto formateado
- Gráfico
- Marcado basado en documento DOCX
- Página de documento PDF o DOCX
- Imagen de cualquier formato compatible
- Formulario o recurso de imagen del documento PDF actual u otro
- Rectángulo
- Elipse
- Polígono
- Polilínea
- Curvas
El método
PdfContentEditorTool.AddFigure permite agregar una figura gráfica a una página PDF.
El método
PdfContentEditorTool.StartBuildFigure permite comenzar a crear una figura gráfica en una página PDF usando el mouse.
Aquí hay una captura de pantalla de la aplicación PdfEditorDemo.que demuestra cómo agregar gráficos a una página PDF:
Agregar gráficos a una página PDF en el visor de WinForms/WPF
El SDK proporciona la clase
OfficeDocumentFigure que permite dibujar una página DOCX en una página PDF.
La demostración del editor PDF muestra cómo agregar una página DOCX con un gráfico a una página PDF (agregar/crear
OfficeDocumentFigure en una página PDF usando
PdfContentEditorTool.AddFigure /
PdfContentEditorTool.StartBuildFigure método).
Aquí hay una captura de pantalla de la aplicación PdfEditorDemo, que demuestra cómo seleccionar un gráfico para agregarlo a una página PDF:
PDF Editor Demo también demuestra cómo cambiar los datos del gráfico y ver los cambios del gráfico en la página PDF en el visor.
Aquí hay una captura de pantalla de la aplicación PdfEditorDemo, que demuestra cómo seleccionar el gráfico en la página PDF y editar las propiedades del gráfico:
Requisitos para la edición del contenido de la página PDF en el visor WinForms/WPF
Si desea editar el contenido de la página PDF en el visor WinForms/WPF, son necesarios los siguientes productos VintaSoft: