Como migrar do Sumatra PDF para o IronPDF em C#
A migração doSumatra PDFpara o IronPDF transforma seu fluxo de trabalho de PDF, passando do gerenciamento de processos externos com um aplicativo visualizador para desktop para a integração nativa com a biblioteca .NET , com recursos completos de criação, manipulação e extração de PDFs. Este guia fornece um caminho completo e passo a passo de migração que elimina dependências externas, obrigações de copyleft AGPLv3, e a limitação fundamental de que oSumatra PDFé um visualizador/impressora, não uma biblioteca de desenvolvimento.
Por que migrar doSumatra PDFpara o IronPDF?
Entendendo Sumatra (PDF)
OSumatra PDFé um leitor/impressora PDF de código aberto leve para Windows, renomado por sua simplicidade e velocidade. Também exibe arquivos EPUB, MOBI, CBZ/CBR, FB2, CHM, XPS e DjVu. Não entanto, oSumatra PDFnão oferece as capacidades necessárias para criar ou manipular arquivos PDF além de visualizá-los e imprimi-los, e não há um SDK .NET oficial ou pacote NuGet — wrappers da comunidade simplesmente utilizam SumatraPDF.exe.
OSumatra PDFé um aplicativo visualizador/impressora de desktopWindowsindependente, não uma biblioteca de desenvolvimento. Se você estiver usando oSumatra PDFem seu aplicativo .NET , provavelmente você:
- Lançamento de
SumatraPDF.execomo um processo externo para exibir PDFs - Impressão de PDFs via linha de comando (
-print-to-default,-print-to "<printer>") - Ao depender disso, seus usuários precisam instalar o que precisam.
Principais problemas com a integração do Sumatra PDF
| Problema | Impacto |
|---|---|
| Não é uma biblioteca | Não é possível criar ou editar PDFs programaticamente. |
| Processo externo | Requer iniciar SumatraPDF.exe; sem API dentro do processo |
| Licença AGPLv3 | Copyleft forte (alguns arquivos licenciados BSD); bundling into closed-source products imposes obligations most commercial vendors avoid |
| Dependência do usuário | Os usuários (ou seu instalador) devem colocar o SumatraPDF.exe no disco |
| Somente CLI | Limitado a argumentos de linha de comando documentados |
| Somente Visualização/Impressão | Não é possível criar, editar ou manipular PDFs. |
| Somente Windows | Sem builds paraLinuxou macOS |
Comparação entreSumatra PDFe IronPDF
| Recurso | Sumatra PDF | IronPDF |
|---|---|---|
| Tipo | Aplicativo | Biblioteca |
| Leitura de PDF | Sim | Sim |
| Criação de PDF | Não | Sim |
| Edição de PDF | Não | Sim |
| Integração | Limitado (autônomo) | Integração completa em aplicativos |
| Licença | AGPLv3 (alguns arquivos BSD) | Comercial |
| Criar PDFs | Não | Sim |
| Editar PDFs | Não | Sim |
| HTML para PDF | Não | Sim |
| Mesclar/Dividir | Não | Sim |
| Marcas d'água | Não | Sim |
| Assinaturas digitais | Não | Sim |
| Preenchimento de formulários | Não | Sim |
| Extração de texto | Não | Sim |
| Integração .NET | None | Nativo |
| Aplicações Web | Não | Sim |
O IronPDF, diferentemente do Sumatra PDF, não está vinculado a nenhum aplicativo de desktop específico ou processo externo. Ela fornece aos desenvolvedores uma biblioteca flexível para criar, editar e manipular documentos PDF dinamicamente diretamente em C#. Essa separação de processos externos oferece uma vantagem notável: é simples e adaptável, adequada para uma ampla gama de aplicações que vão além da simples visualização.
Para equipes direcionando o .NET moderno, o IronPDF fornece integração de biblioteca nativa que elimina a sobrecarga de processos externos e as obrigações de copyleft AGPLv3 do Sumatra PDF.
Antes de começar
Pré-requisitos
- Ambiente .NET : .NET Framework 4.6.2+ ou .NET Core 3.1+ / .NET 5/6/7/8/9+
- Acesso ao NuGet : Capacidade de instalar pacotes NuGet.
- Licença do IronPDF: Obtenha sua chave de licença em IronPDF
Instalação
# Install IronPDF
dotnet add package IronPdf
# Install IronPDF
dotnet add package IronPdf
Configuração de licença
// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
Referência completa da API
Alterações de namespace
// Before:Sumatra PDF(external process)
using System.Diagnostics;
using System.IO;
// After: IronPDF
using IronPdf;
// Before:Sumatra PDF(external process)
using System.Diagnostics;
using System.IO;
// After: IronPDF
using IronPdf;
Imports System.Diagnostics
Imports System.IO
Imports IronPdf
Mapeamento das Competências Essenciais
| Abordagem em PDF de Sumatra | Equivalente ao IronPDF | Notas |
|---|---|---|
Process.Start("SumatraPDF.exe", pdfPath) |
PdfDocument.FromFile() |
Carregar PDF |
| Argumentos da linha de comando | Métodos da API nativa | Não é necessário nenhum CLI. |
Externo pdftotext.exe |
pdf.ExtractAllText() |
Extração de texto |
Externo wkhtmltopdf.exe |
renderer.RenderHtmlAsPdf() |
HTML para PDF |
Argumento -print-to-default |
pdf.Print() |
Impressão |
| Não é possível. | PdfDocument.Merge() |
Mesclar PDFs |
| Não é possível. | pdf.ApplyWatermark() |
Marcas d'água |
| Não é possível. | pdf.SecuritySettings |
Proteção por senha |
Exemplos de migração de código
Exemplo 1: Conversão de HTML para PDF
Antes (Sumatra PDF):
//Sumatra PDFis a standaloneWindowsapp (AGPLv3) — there is NO official NuGet package.
// Download SumatraPDF.exe from https://www.sumatrapdfreader.org/and shell out to it.
// Sumatra is a viewer/printer only; it cannot convert HTML to PDF, so you must use a
// separate HTML-to-PDF tool (e.g. wkhtmltopdf) and then view/print with Sumatra.
using System.Diagnostics;
using System.IO;
class Program
{
static void Main()
{
//Sumatra PDFcannot directly convert HTML to PDF
// You'd need to use wkhtmltopdf or similar, then view in Sumatra
string htmlFile = "input.html";
string pdfFile = "output.pdf";
// Using wkhtmltopdf as intermediary
ProcessStartInfo psi = new ProcessStartInfo
{
FileName = "wkhtmltopdf.exe",
Arguments = $"{htmlFile} {pdfFile}",
UseShellExecute = false
};
Process.Start(psi)?.WaitForExit();
// Then open with Sumatra
Process.Start("SumatraPDF.exe", pdfFile);
}
}
//Sumatra PDFis a standaloneWindowsapp (AGPLv3) — there is NO official NuGet package.
// Download SumatraPDF.exe from https://www.sumatrapdfreader.org/and shell out to it.
// Sumatra is a viewer/printer only; it cannot convert HTML to PDF, so you must use a
// separate HTML-to-PDF tool (e.g. wkhtmltopdf) and then view/print with Sumatra.
using System.Diagnostics;
using System.IO;
class Program
{
static void Main()
{
//Sumatra PDFcannot directly convert HTML to PDF
// You'd need to use wkhtmltopdf or similar, then view in Sumatra
string htmlFile = "input.html";
string pdfFile = "output.pdf";
// Using wkhtmltopdf as intermediary
ProcessStartInfo psi = new ProcessStartInfo
{
FileName = "wkhtmltopdf.exe",
Arguments = $"{htmlFile} {pdfFile}",
UseShellExecute = false
};
Process.Start(psi)?.WaitForExit();
// Then open with Sumatra
Process.Start("SumatraPDF.exe", pdfFile);
}
}
Imports System.Diagnostics
Imports System.IO
Module Program
Sub Main()
' Sumatra PDF cannot directly convert HTML to PDF
' You'd need to use wkhtmltopdf or similar, then view in Sumatra
Dim htmlFile As String = "input.html"
Dim pdfFile As String = "output.pdf"
' Using wkhtmltopdf as intermediary
Dim psi As New ProcessStartInfo With {
.FileName = "wkhtmltopdf.exe",
.Arguments = $"{htmlFile} {pdfFile}",
.UseShellExecute = False
}
Process.Start(psi)?.WaitForExit()
' Then open with Sumatra
Process.Start("SumatraPDF.exe", pdfFile)
End Sub
End Module
Após (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
string htmlContent = "<h1>Hello World</h1><p>This is HTML para PDF conversion.</p>";
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created successfully!");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
string htmlContent = "<h1>Hello World</h1><p>This is HTML para PDF conversion.</p>";
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created successfully!");
}
}
Imports IronPdf
Imports System
Module Program
Sub Main()
Dim renderer As New ChromePdfRenderer()
Dim htmlContent As String = "<h1>Hello World</h1><p>This is HTML para PDF conversion.</p>"
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("output.pdf")
Console.WriteLine("PDF created successfully!")
End Sub
End Module
Este exemplo demonstra a diferença arquitetônica fundamental. OSumatra PDFnão consegue converter HTML para PDF diretamente; você precisa usar uma ferramenta externa como o wkhtmltopdf como intermediário e, em seguida, executar o Sumatra como um processo separado para visualizar o resultado. Isso requer dois executáveis externos e a inicialização de múltiplos processos.
IronPDF usa um ChromePdfRenderer com RenderHtmlAsPdf() em apenas três linhas de código. Sem ferramentas externas, sem gerenciamento de processos, sem arquivos intermediários. O PDF é criado diretamente na memória e salvo com SaveAs(). Consulte a documentação de conversão de HTML para PDF para obter exemplos completos.
Exemplo 2: Abrindo e exibindo PDFs
Antes (Sumatra PDF):
//Sumatra PDFis a standaloneWindowsapp (AGPLv3) — no official NuGet package.
// Download SumatraPDF.exe from https://www.sumatrapdfreader.org/and call it via Process.Start.
// Useful CLI flags: -page <n>, -print-to-default, -print-to "<printer>", -print-settings, -silent.
using System.Diagnostics;
using System.IO;
class Program
{
static void Main()
{
string pdfPath = "document.pdf";
//Sumatra PDFexcels at viewing PDFs
ProcessStartInfo startInfo = new ProcessStartInfo
{
FileName = "SumatraPDF.exe",
Arguments = $"\"{pdfPath}\"",
UseShellExecute = true
};
Process.Start(startInfo);
// Optional: Open specific page
// Arguments = $"-page 5 \"{pdfPath}\""
}
}
//Sumatra PDFis a standaloneWindowsapp (AGPLv3) — no official NuGet package.
// Download SumatraPDF.exe from https://www.sumatrapdfreader.org/and call it via Process.Start.
// Useful CLI flags: -page <n>, -print-to-default, -print-to "<printer>", -print-settings, -silent.
using System.Diagnostics;
using System.IO;
class Program
{
static void Main()
{
string pdfPath = "document.pdf";
//Sumatra PDFexcels at viewing PDFs
ProcessStartInfo startInfo = new ProcessStartInfo
{
FileName = "SumatraPDF.exe",
Arguments = $"\"{pdfPath}\"",
UseShellExecute = true
};
Process.Start(startInfo);
// Optional: Open specific page
// Arguments = $"-page 5 \"{pdfPath}\""
}
}
Imports System.Diagnostics
Imports System.IO
Module Program
Sub Main()
Dim pdfPath As String = "document.pdf"
' Sumatra PDF excels at viewing PDFs
Dim startInfo As New ProcessStartInfo With {
.FileName = "SumatraPDF.exe",
.Arguments = $"""{pdfPath}""",
.UseShellExecute = True
}
Process.Start(startInfo)
' Optional: Open specific page
' startInfo.Arguments = $"-page 5 ""{pdfPath}"""
End Sub
End Module
Após (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Diagnostics;
class Program
{
static void Main()
{
var pdf = PdfDocument.FromFile("document.pdf");
// Extract information
Console.WriteLine($"Page Count: {pdf.PageCount}");
//IronPDF can manipulate and save, then open with default viewer
pdf.SaveAs("modified.pdf");
// Open with default PDF viewer
Process.Start(new ProcessStartInfo("modified.pdf") { UseShellExecute = true });
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Diagnostics;
class Program
{
static void Main()
{
var pdf = PdfDocument.FromFile("document.pdf");
// Extract information
Console.WriteLine($"Page Count: {pdf.PageCount}");
//IronPDF can manipulate and save, then open with default viewer
pdf.SaveAs("modified.pdf");
// Open with default PDF viewer
Process.Start(new ProcessStartInfo("modified.pdf") { UseShellExecute = true });
}
}
Imports IronPdf
Imports System
Imports System.Diagnostics
Module Program
Sub Main()
Dim pdf = PdfDocument.FromFile("document.pdf")
' Extract information
Console.WriteLine($"Page Count: {pdf.PageCount}")
' IronPDF can manipulate and save, then open with default viewer
pdf.SaveAs("modified.pdf")
' Open with default PDF viewer
Process.Start(New ProcessStartInfo("modified.pdf") With {.UseShellExecute = True})
End Sub
End Module
OSumatra PDFé excelente para visualizar PDFs, mas sua funcionalidade se limita a iniciar um processo externo com argumentos de linha de comando. Não é possível acessar o conteúdo do PDF programaticamente — apenas exibi-lo.
IronPDF carrega o PDF com PdfDocument.FromFile(), dando a você acesso programático completo. Você pode ler propriedades como PageCount, manipular o documento, salvar alterações e depois abrir com o visualizador de PDF padrão do sistema. A principal diferença é que o IronPDF fornece uma API real, e não apenas processa argumentos. Saiba mais em nossos tutoriais .
Exemplo 3: Extraindo texto de PDFs
Antes (Sumatra PDF):
//Sumatra PDFis a standaloneWindowsviewer (AGPLv3) — no official NuGet package
// and no programmatic text-extraction API. To extract text you must shell out to a
// separate tool such as pdftotext (Xpdf / Poppler).
using System;
using System.Diagnostics;
using System.IO;
class Program
{
static void Main()
{
//Sumatra PDFis a viewer, not a text extraction library
// You'd need to use PDFBox, iTextSharp, or similar for extraction
string pdfFile = "document.pdf";
// This would require external tools like pdftotext
ProcessStartInfo psi = new ProcessStartInfo
{
FileName = "pdftotext.exe",
Arguments = $"{pdfFile} output.txt",
UseShellExecute = false
};
Process.Start(psi)?.WaitForExit();
string extractedText = File.ReadAllText("output.txt");
Console.WriteLine(extractedText);
}
}
//Sumatra PDFis a standaloneWindowsviewer (AGPLv3) — no official NuGet package
// and no programmatic text-extraction API. To extract text you must shell out to a
// separate tool such as pdftotext (Xpdf / Poppler).
using System;
using System.Diagnostics;
using System.IO;
class Program
{
static void Main()
{
//Sumatra PDFis a viewer, not a text extraction library
// You'd need to use PDFBox, iTextSharp, or similar for extraction
string pdfFile = "document.pdf";
// This would require external tools like pdftotext
ProcessStartInfo psi = new ProcessStartInfo
{
FileName = "pdftotext.exe",
Arguments = $"{pdfFile} output.txt",
UseShellExecute = false
};
Process.Start(psi)?.WaitForExit();
string extractedText = File.ReadAllText("output.txt");
Console.WriteLine(extractedText);
}
}
Imports System
Imports System.Diagnostics
Imports System.IO
Module Program
Sub Main()
' Sumatra PDF is a viewer, not a text extraction library
' You'd need to use PDFBox, iTextSharp, or similar for extraction
Dim pdfFile As String = "document.pdf"
' This would require external tools like pdftotext
Dim psi As New ProcessStartInfo With {
.FileName = "pdftotext.exe",
.Arguments = $"{pdfFile} output.txt",
.UseShellExecute = False
}
Process.Start(psi)?.WaitForExit()
Dim extractedText As String = File.ReadAllText("output.txt")
Console.WriteLine(extractedText)
End Sub
End Module
Após (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var pdf = PdfDocument.FromFile("document.pdf");
// Extract text from all pages
string allText = pdf.ExtractAllText();
Console.WriteLine("Extracted Text:");
Console.WriteLine(allText);
// Extract text from specific page
string pageText = pdf.ExtractTextFromPage(0);
Console.WriteLine($"\nFirst Page Text:\n{pageText}");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var pdf = PdfDocument.FromFile("document.pdf");
// Extract text from all pages
string allText = pdf.ExtractAllText();
Console.WriteLine("Extracted Text:");
Console.WriteLine(allText);
// Extract text from specific page
string pageText = pdf.ExtractTextFromPage(0);
Console.WriteLine($"\nFirst Page Text:\n{pageText}");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim pdf = PdfDocument.FromFile("document.pdf")
' Extract text from all pages
Dim allText As String = pdf.ExtractAllText()
Console.WriteLine("Extracted Text:")
Console.WriteLine(allText)
' Extract text from specific page
Dim pageText As String = pdf.ExtractTextFromPage(0)
Console.WriteLine(vbCrLf & "First Page Text:" & vbCrLf & pageText)
End Sub
End Class
Sumatra PDF é um visualizador, não uma biblioteca de extração de texto. Para extrair texto, você deve usar ferramentas externas de linha de comando como pdftotext.exe, iniciar um processo, esperar que ele termine, ler o arquivo de saída e lidar com toda a E/S de arquivos e limpeza associada.
IronPDF fornece extração de texto nativa com ExtractAllText() para o documento inteiro ou ExtractTextFromPage(0) para páginas específicas. Sem processos externos, sem arquivos temporários, sem necessidade de limpeza.
Comparação de recursos
| Recurso | Sumatra PDF | IronPDF | |||
|---|---|---|---|---|---|
| Criação : | HTML para PDF | Não | Sim | ||
| URL para PDF | Não | Sim | |||
| Texto para PDF | Não | Sim | |||
| Converter imagem para PDF | Não | Sim | |||
| Manipulação : | Mesclar PDFs | Não | Sim | ||
| Dividir PDFs | Não | Sim | |||
| Girar páginas | Não | Sim | |||
| Excluir páginas | Não | Sim | |||
| Reordenar páginas | Não | Sim | |||
| : Contente : | Adicionar marcas d'água | Não | Sim | ||
| Adicionar cabeçalhos/rodapés | Não | Sim | |||
| Texto do carimbo | Não | Sim | |||
| Imagens de selos | Não | Sim | |||
| : Segurança : | Proteção por senha | Não | Sim | ||
| Assinaturas digitais | Não | Sim | |||
| Criptografia | Não | Sim | |||
| Configurações de permissão | Não | Sim | |||
| Extração : | Texto extraído | Não | Sim | ||
| Extrair imagens | Não | Sim | |||
| Plataforma : | Windows | Sim | Sim | ||
| Linux | Não | Sim | |||
| macOS | Não | Sim | |||
| Aplicativos Web | Não | Sim | |||
| Azure/AWS | Não | Sim |
Novas funcionalidades após a migração
Após migrar para o IronPDF, você obtém recursos que oSumatra PDFnão oferece:
Criação de PDF a partir de HTML
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(@"
<html>
<head><style>body { font-family: Arial; }</style></head>
<body>
<h1>Invoice #12345</h1>
<p>Thank you for your purchase.</p>
</body>
</html>");
pdf.SaveAs("invoice.pdf");
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(@"
<html>
<head><style>body { font-family: Arial; }</style></head>
<body>
<h1>Invoice #12345</h1>
<p>Thank you for your purchase.</p>
</body>
</html>");
pdf.SaveAs("invoice.pdf");
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("
<html>
<head><style>body { font-family: Arial; }</style></head>
<body>
<h1>Invoice #12345</h1>
<p>Thank you for your purchase.</p>
</body>
</html>")
pdf.SaveAs("invoice.pdf")
Fusão de PDFs
var pdf1 = PdfDocument.FromFile("chapter1.pdf");
var pdf2 = PdfDocument.FromFile("chapter2.pdf");
var pdf3 = PdfDocument.FromFile("chapter3.pdf");
var book = PdfDocument.Merge(pdf1, pdf2, pdf3);
book.SaveAs("complete_book.pdf");
var pdf1 = PdfDocument.FromFile("chapter1.pdf");
var pdf2 = PdfDocument.FromFile("chapter2.pdf");
var pdf3 = PdfDocument.FromFile("chapter3.pdf");
var book = PdfDocument.Merge(pdf1, pdf2, pdf3);
book.SaveAs("complete_book.pdf");
Dim pdf1 = PdfDocument.FromFile("chapter1.pdf")
Dim pdf2 = PdfDocument.FromFile("chapter2.pdf")
Dim pdf3 = PdfDocument.FromFile("chapter3.pdf")
Dim book = PdfDocument.Merge(pdf1, pdf2, pdf3)
book.SaveAs("complete_book.pdf")
Marcas d'água
var pdf = PdfDocument.FromFile("document.pdf");
pdf.ApplyWatermark(@"
<div style='
font-size: 60pt;
color: rgba(255, 0, 0, 0.3);
transform: rotate(-45deg);
'>
CONFIDENTIAL
</div>");
pdf.SaveAs("watermarked.pdf");
var pdf = PdfDocument.FromFile("document.pdf");
pdf.ApplyWatermark(@"
<div style='
font-size: 60pt;
color: rgba(255, 0, 0, 0.3);
transform: rotate(-45deg);
'>
CONFIDENTIAL
</div>");
pdf.SaveAs("watermarked.pdf");
Dim pdf = PdfDocument.FromFile("document.pdf")
pdf.ApplyWatermark("
<div style='
font-size: 60pt;
color: rgba(255, 0, 0, 0.3);
transform: rotate(-45deg);
'>
CONFIDENTIAL
</div>")
pdf.SaveAs("watermarked.pdf")
Proteção por senha
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Sensitive Data</h1>");
pdf.SecuritySettings.OwnerPassword = "owner123";
pdf.SecuritySettings.UserPassword = "user456";
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint;
pdf.SaveAs("protected.pdf");
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Sensitive Data</h1>");
pdf.SecuritySettings.OwnerPassword = "owner123";
pdf.SecuritySettings.UserPassword = "user456";
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint;
pdf.SaveAs("protected.pdf");
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Sensitive Data</h1>")
pdf.SecuritySettings.OwnerPassword = "owner123"
pdf.SecuritySettings.UserPassword = "user456"
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint
pdf.SaveAs("protected.pdf")
Lista de verificação para migração
Pré-migração
- Identificar todos os lançamentos de processos do Sumatra (
Process.Start("SumatraPDF.exe", ...)) - Documentar fluxos de trabalho de impressão (
-print-to-defaultargumentos) - Anote quaisquer argumentos de linha de comando do Sumatra utilizados.
- Obtenha a chave de licença do IronPDF em IronPDF
Atualizações de código
- Instalar pacote NuGet
IronPdf - Remover o código do processo de Sumatra
- Substituir
Process.Start("SumatraPDF.exe", pdfPath)porPdfDocument.FromFile(pdfPath) - Substituir chamadas externas
wkhtmltopdf.exeporChromePdfRenderer.RenderHtmlAsPdf() - Substituir chamadas externas
pdftotext.exeporpdf.ExtractAllText() - Substituir chamadas de processo
-print-to-defaultporpdf.Print() - Adicionar inicialização de licença na inicialização do aplicativo
Testando
- Testar a qualidade da geração de PDFs
- Verificar a funcionalidade de impressão
- Testar em todas as plataformas alvo
- Verificar se ainda não existe nenhuma dependência de Sumatra
Limpar
- Remover Sumatra dos instaladores
- Atualizar documentação
- Remover Sumatra dos requisitos do sistema

