Abrir un archivo PDF en C#
-
Utilice el método
Process.Start()
para abrir un archivo PDF enC#
-
Utilice el visor
DynamicPDF
para abrir un archivo PDF enC#
-
Utilice el
PdfDocument
para abrir un archivo PDF enC#
-
Utilice la instancia
System.IO.Stream
para abrir un archivo PDF enC#
-
Utilice el paquete NuGet
iTextSharp
para abrir un archivo PDF enC#
-
Utilice el
PdfViewer
de la caja de herramientas para abrir un archivo PDF enC#
Este tutorial le enseñará cómo abrir un archivo PDF dentro de Windows Form usando C#. Hay seis formas posibles de acceder a un archivo de formato de documento portátil con programación C# para sus aplicaciones de Windows.
Cada método está organizado en función del conocimiento básico del usuario sobre programación C# y controles GUI. Puede comprender y aprender estas diferentes formas sin ningún conocimiento previo de programación con los ejemplos ejecutables de C#.
Debe saber que no hay soporte directo para generar un archivo PDF en C#; en su lugar, puede usar bibliotecas o herramientas de terceros para generar un archivo. El PDFSharp
es un ejemplo que permite que sus aplicaciones de Windows utilicen rutinas de dibujo conocidas de GDI+
publicadas bajo la licencia MIT.
Utilice el método Process.Start()
para abrir un archivo PDF en C#
El método System.Diagnostics.Process.Start()
en C# funciona como un archivo PDF predeterminado del sistema u otro visor de documentos. Un problema común que tienen muchos principiantes con este enfoque es la ruta del archivo.
Si necesita una ruta relativa del archivo .exe
del programa a una carpeta con recursos, agregue Recursos\ o ...\Recursos\
a la ruta de su archivo. De lo contrario, puede agregar sus archivos PDF a un proyecto de C# como un recurso incrustado usando Path.GetTempPath()
guardándolo en alguna ubicación temporal y abriéndolo.
using System;
using System.Diagnostics; // essential namespace
using System.Windows.Forms;
namespace open_pdf {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e) {
/* alternative approach
ProcessStartInfo file_info = new ProcessStartInfo();
file_info.FileName = "report.pdf";
string _path = @"C:\Users\DELL"; // file path
file_info.Arguments = _path;
Process.Start(file_info);
*/
Process.Start(@"C:\Users\DELL\report.pdf");
}
}
}
Producción:
Pertenece al espacio de nombres System.Diagnostics
, que también contiene la definición de ProcessStartInfo
. Tiene diferentes parámetros, que incluyen: nombre de archivo
, argumentos
, nombre de usuario
, contraseña
y dominio
para acceder a los archivos, incluidos los PDF.
Utilice el visor DynamicPDF
para abrir un archivo PDF en C#
El visor DynamicPDF
es una poderosa herramienta para .NET dentro de las aplicaciones de Windows para acceder a un PDF usando un archivo, una matriz de bytes o un archivo protegido con contraseña o abrir un PDF usando un Stream
. Los ejemplos de este método explicarán cómo puede utilizar el visor DynamicPDF
para acceder o abrir archivos .pdf
.
Instale este visor utilizando el instalador MSI proporcionado por DynamicPDF
y agregue el control DynamicPDFViewer
a su caja de herramientas de Visual Studio después de una instalación exitosa. Ahora, es una opción válida acceder a la caja de herramientas para agregar un control DynamicPDFViewer
a sus Windows Forms.
Es una herramienta premium con funciones personalizables para mejorar el rendimiento de sus aplicaciones C#. Puede integrar completamente este visor en cualquier aplicación WinForm .NET
para que ya no dependa de un visor externo para mostrar o interactuar con sus documentos y pueda aprovechar su alta eficiencia, confiabilidad y compatibilidad.
using System;
using System.Windows.Forms;
namespace open_pdf {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e) {
pdfViewer1.Open(@"C:\Users\DELL\report.pdf");
}
private void pdfViewer1_Click(object sender, EventArgs e) {}
}
}
Producción:
Puede instalarlo como un paquete NuGet en Visual Studio con el nombre ceTe.DynamicPDF.Viewer.NET
. Las versiones x64 y x86 de esta herramienta están disponibles, instálela y ponga su referencia a su proyecto C# para abrir archivos PDF de manera más eficiente.
Utilice el PdfDocument
para abrir un archivo PDF en C#
El método Abrir
es extremadamente simple y famoso cuando se trata de abrir un archivo PDF en C# con algo como pdfViewer.Open(pdf_path);
y en caso de que desee abrir un PDF directamente desde una matriz de bytes que requiera que cree una instancia de pdfDocument
para pasar la matriz de bytes a un constructor, puede usar el método Abrir
.
Pase la instancia de pdfDocument
al control Viewer
que creó usando el método Open
como pdfDocument pdf_doc = new pdfDocument(pdf_file);
y puede ejecutarlo utilizando el método Abrir
pdfViewer.Open(pdf_doc);
.
Lo que es más importante, para los archivos PDF protegidos con contraseña, debe pasar la contraseña junto con la ruta del archivo al constructor como pdfDocument pdf_doc = new pdfDocument(pdf_path, "my_password123");
y use el método Abrir
para pasar esta instancia a su control de visor DynamicPDF
.
using System;
using System.Windows.Forms;
using ceTe.DynamicPDF.Viewer;
namespace open_pdf {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e) {
PdfDocument file_pdf =
new PdfDocument(data_pdf); // `data_pdf` contains the byte array info of pdf file
pdfViewer1.Open(file_pdf);
}
private void pdfViewer1_Click(object sender, EventArgs e) {}
}
}
Cuando hace clic en el botón Abrir
, el archivo PDF se abre desde la matriz de bytes en el Visor DynamicPDF
incrustado en Windows Form.
Abrir un archivo PDF protegido con contraseña es tan simple como abrir un archivo PDF desde la matriz de bytes creando una instancia de PdfDocument
y pasando la ruta del archivo y la contraseña al constructor.
Como el PDF está encriptado y protegido con contraseña, pasará la instancia de PdfDocument
a su pdfViewer1
utilizando el método Open()
.
using System;
using System.Windows.Forms;
using ceTe.DynamicPDF.Viewer;
namespace open_pdf {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e) {
PdfDocument file_pdf = new PdfDocument(
@"C:\Users\DELL\report.pdf", "password"); // first string is the path, and the second
// string is the password on that pdf file
pdfViewer1.Open(file_pdf);
}
private void pdfViewer1_Click(object sender, EventArgs e) {}
}
}
Producción:
Utilice la instancia System.IO.Stream
para abrir un archivo PDF en C#
Es posible usar la instancia System.IO.Stream
directamente para realizar esta tarea con el método Open
. Requiere crear una instancia de pdfDocument
desde Stream
, algo así como pdfDocument pdf_doc = new pdfDocument(pdf_stream);
.
using System;
using System.Windows.Forms;
using ceTe.DynamicPDF.Viewer;
using System.IO;
namespace open_pdf {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e) {
/* perform some stream operation to get `pdf_stream`
string dictionary_start = @"C:\Users\DELL\";
string dictionary_end = @"C:\Users\DELL\edvdd";
foreach (string info_file in Directory.EnumerateFiles(dictionary_start))
{
using (FileStream SourceStream = File.Open(info_file, FileMode.Open))
{
using (FileStream DestinationStream = File.Create(dictionary_end +
info_file.Substring(info_file.LastIndexOf('\\'))))
{
await SourceStream.CopyToAsync(DestinationStream);
}
}
}
*/
PdfDocument file_pdf =
new PdfDocument(pdf_stream); // `pdf_stream` contains the pdf path directly from the
// `System.IO.Strem` instance
pdfViewer1.Open(file_pdf);
}
private void pdfViewer1_Click(object sender, EventArgs e) {}
}
}
Cuando hace clic en el botón Abrir
, el archivo PDF se abre desde la transmisión en el visor pdfViewer1
DynamicPDF
incrustado en Windows Form.
Utilice el paquete NuGet iTextSharp
para abrir un archivo PDF en C#
Cree un nuevo proyecto C# (aplicación Windows Form C#) en Visual Studio e instale la versión del paquete NuGet iTextSharp
v5.5.11
o la versión actualizada.
Es una biblioteca importante porque ofrece funciones como CREAR
, INSERTAR
, ADAPTAR
y MANTENER
documentos en PDF, lo que le permite agregar todas las funciones posibles de .pdf
a su proyecto C#.
Diseñe su formulario con un botón y use el espacio de nombres iTextSharp.text.pdf.parser
para manejar su formulario. Como biblioteca de herramientas avanzadas, lo ayudará a crear informes PDF complejos y mejorar su aplicación con la funcionalidad PDF.
using System;
using System.Windows.Forms;
using iTextSharp.text.pdf.parser; // essential namespace
using System.Text;
namespace open_pdf {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e) {
using (OpenFileDialog dialog_pdffile =
new OpenFileDialog() { Filter = "PDF files|*.pdf", ValidateNames = true,
Multiselect = false }) {
if (dialog_pdffile.ShowDialog() == DialogResult.OK) {
try {
iTextSharp.text.pdf.PdfReader file_proc =
new iTextSharp.text.pdf.PdfReader(dialog_pdffile.FileName);
StringBuilder build_string = new StringBuilder();
for (int i = 1; i <= file_proc.NumberOfPages; i++) {
// read the pdf document
build_string.Append(PdfTextExtractor.GetTextFromPage(file_proc, i));
}
richTextBox1.Text = build_string.ToString();
file_proc.Close();
} catch (Exception ex) {
MessageBox.Show(ex.Message, "Caution, Error occurs!", MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
}
}
}
private void richTextBox1_TextChanged(object sender, EventArgs e) {}
}
}
Producción:
Utilice el PdfViewer
de la caja de herramientas para abrir un archivo PDF en C#
En este método, aprenderá cómo abrir un archivo PDF usando WinForms PDF Viewer en C# y qué ensamblajes se requieren para crear una aplicación de C# de visor de PDF simple.
El Patagames.pdf
es un ensamblaje principal que contiene una biblioteca de clases para crear, editar y cargar archivos PDF, también el motor de procesamiento de PDF.
El ensamblado Patagames.Pdf.WinForms
contiene el PdfViewer UserControl
y otros controles de interfaz de usuario para el visor de PDF, y estos son los únicos dos ensamblados necesarios para este visor WinForms .pdf
.
Crear el control manualmente a partir del código es un proceso complejo con muchos beneficios. Le permite crear un visor de PDF simplemente arrastrando el control desde la caja de herramientas de VS y soltándolo en la ventana del diseñador de su formulario C#. Navegue por la pestaña SDK Patagames Pdf.Net
y arrastre el elemento de la caja de herramientas PdfViewer
a la ventana del Diseñador.
Recuerde, pdfViewer
no contiene ningún elemento de interfaz de usuario y todas las funcionalidades cruciales están disponibles a través de métodos públicos.
Después de agregar la instancia al diseñador, puede cargar el documento en pdfViewerControl
con algo como pdfViewer1.LoadDocument("file_name.pdf");
.
using System;
using System.Windows.Forms;
namespace open_pdf {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e) {
pdfViewer1.LoadDocument(@"C:\Users\DELL\Resumed.pdf");
}
private void pdfViewer1_Load(object sender, EventArgs e) {}
}
}
Producción:
Otro enfoque que puede usar con la ayuda de esta pestaña SDK es abrir un documento PDF usando las propiedades navegando en la pestaña Patagames Pdf.Net SDK
y arrastrando el elemento de la caja de herramientas PdfToolStripMain
a la ventana del diseñador para agregar su instancia al diseñador. archivo .cs
.
Luego, haga clic en la propiedad PdfViewer
en la cuadrícula de propiedades y seleccione pdfViewer1
de la lista desplegable. Ahora puede cargar o agregar documentos PDF haciendo clic en el icono Abrir
.
Como estamos discutiendo eventos de clic de botón, puede agregar manualmente los controles desde el código C# agregando referencias de espacios de nombres de ensamblajes, creando una instancia de pdfViewer
y cargando el archivo PDF. En el evento de clic del botón, inicialice el PdfViewerControl
, cargue el documento y agréguelo al formulario.
El visor de PDF Spire
es una alternativa válida al visor de PDF Patagames
para simplemente abrir los archivos PDF en C#. Descargue el Spire.PDFViewer
, agregue un script de herramienta en su formulario de Windows y agregue la referencia Spire.PdfViewer.Forms
a su proyecto C# para cargar directamente los archivos PDF desde el sistema o elegir un archivo PDF desde un cuadro de diálogo desde tu computadora.
En este tutorial, aprendió cómo abrir un PDF o cualquier otro archivo en C# utilizando los métodos más efectivos para mantener el rendimiento.
Hassan is a Software Engineer with a well-developed set of programming skills. He uses his knowledge and writing capabilities to produce interesting-to-read technical articles.
GitHub