O VintaSoft Imaging .NET SDK possui amplas funcionalidades para edição de documentos PDF em visualizadores WinForms/WPF:
As capacidades de edição visual de documentos PDF são demonstradas nos aplicativos de demonstração
VintaSoft PDF Editor Demo (WinForms) e
VintaSoft WPF PDF Editor Demo (WPF).
Este artigo fornece uma visão geral da funcionalidade para edição visual do conteúdo de documentos PDF em visualizadores WinForms/WPF.
Editar conteúdo da página PDF no visualizador WinForms/WPF
O controle WinForms
ImageViewer permite exibir páginas de um documento PDF em um aplicativo WinForms. O controle ImageViewer pode usar a ferramenta visual
PdfContentEditorTool para editar o conteúdo da página PDF no visualizador.
O controle WPF
WpfImageViewer permite exibir páginas de um documento PDF em uma aplicação WPF. O controle WpfImageViewer pode utilizar a ferramenta visual
WpfPdfContentEditorTool para editar o conteúdo da página PDF no visualizador.
Aqui está o código que cria um
ImageViewer com um
PdfContentEditorTool para exibir e editar o conteúdo de páginas PDF em um aplicativo 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));
}
}
Recursos gerais para edição do conteúdo da página PDF no visualizador WinForms/WPF
O SDK pode dividir o conteúdo da página PDF nas seguintes figuras gráficas:
- Texto
- Imagem
- Formulário
- Contorno do caminho
- Preenchimento do caminho
- Área de recorte
- Área de padrão (gradiente)
- Grupo de objetos
O
PdfContentEditorTool /
WpfPdfContentEditorTool permite exibir e editar figuras gráficas na página PDF no visualizador.
O
PdfContentEditorTool /
WpfPdfContentEditorTool permite:
- Habilitar/desabilitar a capacidade de editar o conteúdo da página PDF no visualizador (4)
- Agrupar figuras de conteúdo editáveis (3)
- Destacar figuras de conteúdo no visualizador (2, 12)
- Selecionar o tipo de figuras editáveis: texto, imagens, formulários, caminho preenchido, área de padrão, área de recorte (1)
- Obter lista de figuras editáveis (14)
- Desfazer e refazer operações (5)
- Editar o texto da figura de texto selecionada (6)
- Substituir ou editar o formulário ou imagem selecionada (7)
- Definir as propriedades da figura: cor e espessura da caneta, cor de preenchimento, transparência, modo de renderização de texto, etc. (8)
- Transformar (mover, redimensionar, girar) a figura selecionada no visualizador (15)
- Transformar programaticamente (girar, inverter ou transformar livremente) a figura selecionada (9)
- Defina uma área de recorte para a figura selecionada (10)
- Adicione novas figuras (texto, imagens, gráficos, tabelas, etc.) (11)
- Exclua, copie ou cole uma figura de qualquer tipo (16)
- Selecione uma figura localizada no ponto especificado (17)
Aqui está uma captura de tela do aplicativo PdfEditorDemo, que representa a visualização principal do editor visual de conteúdo PDF no PdfEditorDemo (cada dígito corresponde à lista acima):
Edite texto formatado em uma página PDF no visualizador WinForms/WPF
O SDK fornece classe
OfficeDocumentVisualEditor que representa o editor de texto rico no visualizador WinForms/WPF.
PdfContentEditorTool /
WpfPdfContentEditorTool usa o editor de texto rico (
OfficeDocumentVisualEditor) para edição de objeto do tipo "Grupo de conteúdo de texto" (
ContentStreamGraphicsFigureTextGroup) na página PDF no visualizador.
O processo de edição do objeto de texto selecionado pode ser iniciado de algumas maneiras:
O editor de texto rico (
OfficeDocumentVisualEditor) permite:
- Transformar (redimensionar, mover) a área de texto
- Alterar texto
- Alterar propriedades do texto: fonte, tamanho, cor, negrito, itálico, sublinhado, sobrescrito, subscrito, escala horizontal, espaçamento entre caracteres
- Alterar alinhamento horizontal do texto: esquerda, direita, centro, largura
- Alterar recuo do parágrafo
- Alterar cor de fundo do parágrafo
- Alterar espaçamento entre linhas
- Criar lista numerada
Aqui está uma captura de tela do aplicativo PdfEditorDemo, que demonstra as propriedades de texto e parágrafo durante a edição de texto formatado:
Aqui está uma captura de tela do aplicativo PdfEditorDemo, que demonstra o bloco de texto editado:
Editar gráficos vetoriais em uma página PDF no visualizador WinForms/WPF
PdfContentEditorTool /
WpfPdfContentEditorTool permite usar o mouse para transformar, copiar e alterar gráficos vetoriais em uma página PDF no visualizador WinForms/WPF.
Aqui está uma captura de tela do aplicativo PdfEditorDemo, que demonstra como selecionar e transformar uma figura de gráfico vetorial em uma página PDF:
O
PdfContentEditorTool.SetContentGraphicsProperties método permite definir o estado gráfico de uma figura gráfica.
Aqui está uma captura de tela do aplicativo PdfEditorDemo, que demonstra como desagrupar figuras e alterar as propriedades de estado gráfico de uma figura de gráfico vetorial em uma página PDF:
Substituir imagem ou formulário em uma página PDF no visualizador WinForms/WPF
Uma imagem ou formulário existente em uma página PDF no visualizador WinForms/WPF pode ser substituído usando
PdfContentEditorTool.ReplaceResource método.
Aqui está uma captura de tela do aplicativo PdfEditorDemo, que demonstra uma caixa de diálogo com informações sobre o recurso de imagem da imagem selecionada na página PDF:
Aqui está uma captura de tela do aplicativo PdfEditorDemo, que demonstra como criar um novo recurso de imagem a partir de um arquivo de imagem e usá-lo como recurso de imagem para a imagem selecionada na página PDF:
Aqui está uma captura de tela do aplicativo PdfEditorDemo, que exibe a imagem alterada na página PDF:
Crie, altere e exclua a área de recorte para uma figura na página PDF no visualizador WinForms/WPF
Uma nova área de recorte pode ser adicionada a qualquer figura em uma página PDF usando o método
PdfContentEditorTool.AddFigureClip.
Aqui está uma captura de tela do aplicativo PdfEditorDemo, que demonstra como definir a área de recorte elíptica para uma imagem na página PDF:
Uma área de recorte existente para qualquer figura na página PDF pode ser selecionada, transformada ou excluída usando o mouse.
Aqui está uma captura de tela do aplicativo PdfEditorDemo, que demonstra a transformação da área de recorte de imagem em uma página PDF:
Adicionar gráficos à página PDF no visualizador WinForms/WPF
A
PdfContentEditorTool permite adicionar as seguintes figuras gráficas à página PDF:
- Linha de texto
- Caixa de texto
- Texto formatado
- Gráfico
- Marcação baseada em documento DOCX
- Página de documento PDF ou DOCX
- Imagem de qualquer formato compatível
- Formulário ou recurso de imagem do documento PDF atual ou de outro documento PDF
- Retângulo
- Elipse
- Polígono
- Polilinha
- Curvas
O método
PdfContentEditorTool.AddFigure permite adicionar uma figura gráfica à página PDF.
O método
PdfContentEditorTool.StartBuildFigure permite iniciar a construção de uma figura gráfica em uma página PDF usando o mouse.
Aqui está uma captura de tela do aplicativo PdfEditorDemo, que demonstra como adicionar gráficos a uma página PDF:
Adicionar gráficos a uma página PDF no visualizador WinForms/WPF
O SDK fornece a classe
OfficeDocumentFigure que permite desenhar uma página DOCX em uma página PDF.
O aplicativo de demonstração "PDF Editor Demo" demonstra como adicionar uma página DOCX com um gráfico a uma página PDF (adicionar/construir
OfficeDocumentFigure na página PDF usando
PdfContentEditorTool.AddFigure /
PdfContentEditorTool.StartBuildFigure método).
Aqui está uma captura de tela do aplicativo PdfEditorDemo, que demonstra como selecionar um gráfico para adicionar a uma página PDF:
O PDF Editor Demo também demonstra como alterar os dados do gráfico e visualizar as alterações na página PDF no visualizador.
Aqui está uma captura de tela do aplicativo PdfEditorDemo, que demonstra como selecionar o gráfico em uma página PDF e editar suas propriedades:
Requisitos para edição do conteúdo da página PDF no visualizador WinForms/WPF
Se você deseja editar o conteúdo da página PDF no visualizador WinForms/WPF, os seguintes produtos da VintaSoft são necessários: