Uma comparação entre o wkhtmltopdf no Windows e o ironPDF.
O vídeo é um guia instrutivo sobre como usar a bibliotecaPDFSharppara gerar um arquivo PDF usando código C#. O palestrante começa introduzindoPDFSharpcomo uma biblioteca complicada, mas eficaz para gerar arquivos PDF. A biblioteca possui recursos avançados e, ao contrário de muitos concorrentes, é totalmente gratuita. O palestrante enfatiza que, apesar de sua complexidade,PDFSharpé uma excelente escolha para gerar arquivos PDF usando C#.
Para iniciar o tutorial, o palestrante apresenta um exemplo de um arquivo PDF gerado que consiste em três linhas de texto. A primeira linha do texto não é exatamente a primeira, enquanto a terceira linha aparece no canto inferior direito. O palestrante observa que a ordem do texto fará sentido assim que eles analisarem o código. Eles também explicam que estarão usando .NET 5 para demonstrar comoPDFSharpfunciona. Para uma visão mais abrangente da criação de PDFs do zero em C# , o IronPDF oferece uma abordagem alternativa simplificada.
Aqui está uma rápida visão de comoPDFSharpe IronPDF diferem nas capacidades mais relevantes para projetos PDF .NET:
| Recurso | IronPDF | PDFSharp |
|---|---|---|
| Conversão de HTML para PDF | Yes | Não |
| Assinaturas digitais | Yes | Não |
| Criptografia | Yes | Não |
| HTML, CSS e JavaScript | Yes | Não |
| Suporte Professional | Yes | Não |
| Licenciamento | Comercial | MIT (Código Aberto) |
Explicações detalhadas e exemplos de código para cada uma dessas diferenças seguem nas seções abaixo. Equipes comparando ambas as bibliotecas podem testar as capacidades do IronPDF com uma avaliação gratuita de 30 dias.
Instalação e configuração
Antes de entrar no código, o palestrante destaca que a configuração do ambiente paraPDFSharppode ser bastante desafiadora. Eles explicam que três pacotes NuGet devem ser instalados antes de trabalhar com Detalhes do Pacote NuGet do PDFSharp. O primeiro pacote é o próprio PDFSharp, que pode gerar um alerta de que pode não corresponder com .NET devido à sua versão mais antiga. Os outros dois pacotes são System.Drawing.Common e System.Text.Encoding.CodePages.

O palestrante enfatiza que todos os três pacotes devem ser instalados antes de trabalhar com o PDFSharp; caso contrário, o código lançará um erro. Eles explicam que o pacote System.Text.Encoding.CodePages é especialmente importante, pois fornece o suporte de codificação necessário para gerar arquivos PDF. O palestrante também observa que falhas na instalação correta dos pacotes podem ser difíceis de solucionar. Equipes que desejam evitar totalmente essa configuração multipacotes podem seguir o guia de migração doPDFSharppara IronPDF para uma transição passo a passo.
Instalando bibliotecas relacionadas
Para fazer oPDFSharpfuncionar corretamente, o palestrante explica que um provedor deve ser registrado para System.Text.Encoding. O provedor vem do pacote System.Text.Encoding.CodePages, e o palestrante destaca a importância de registrar o pacote para garantir que oPDFSharpfuncione corretamente. Eles explicam que a falta de registro do provedor resultará em um erro, que pode ser difícil de solucionar.
Criando um arquivo PDF
Em seguida, o palestrante apresenta um aplicativo de console simples que usaPDFSharppara gerar um arquivo PDF. Eles explicam que antes de usar a biblioteca, as declarações using paraPDFSharpDrawing ePDFSharpPDF devem ser declaradas. Em seguida, o palestrante apresenta o código para gerar o arquivo PDF, que envolve a criação de um novo documento, a adição de uma nova página e a inserção do texto na página.
using PdfSharp.Drawing;
using PdfSharp.Pdf;
namespace PdfSharpExample
{
class Program
{
static void Main(string[] args)
{
// Create a new PDF document
PdfDocument document = new PdfDocument();
// Add a new page
PdfPage page = document.AddPage();
// Prepare to draw on the page
XGraphics gfx = XGraphics.FromPdfPage(page);
// Define a font
XFont font = new XFont("Verdana", 20, XFontStyle.Bold);
// Draw a string to the page
gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black,
new XRect(0, 0, page.Width, page.Height),
XStringFormats.Center);
// Save the document
const string filename = "HelloWorld.pdf";
document.Save(filename);
}
}
}
using PdfSharp.Drawing;
using PdfSharp.Pdf;
namespace PdfSharpExample
{
class Program
{
static void Main(string[] args)
{
// Create a new PDF document
PdfDocument document = new PdfDocument();
// Add a new page
PdfPage page = document.AddPage();
// Prepare to draw on the page
XGraphics gfx = XGraphics.FromPdfPage(page);
// Define a font
XFont font = new XFont("Verdana", 20, XFontStyle.Bold);
// Draw a string to the page
gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black,
new XRect(0, 0, page.Width, page.Height),
XStringFormats.Center);
// Save the document
const string filename = "HelloWorld.pdf";
document.Save(filename);
}
}
}
Imports PdfSharp.Drawing
Imports PdfSharp.Pdf
Namespace PdfSharpExample
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Create a new PDF document
Dim document As New PdfDocument()
' Add a new page
Dim page As PdfPage = document.AddPage()
' Prepare to draw on the page
Dim gfx As XGraphics = XGraphics.FromPdfPage(page)
' Define a font
Dim font As New XFont("Verdana", 20, XFontStyle.Bold)
' Draw a string to the page
gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black, New XRect(0, 0, page.Width, page.Height), XStringFormats.Center)
' Save the document
Const filename As String = "HelloWorld.pdf"
document.Save(filename)
End Sub
End Class
End Namespace
O palestrante observa que o código para gerar o arquivo PDF pode ser ajustado para incluir recursos mais complexos, como adicionar imagens (veja como converter imagens para PDF com o IronPDF), tabelas e gráficos. Eles também explicam que oPDFSharpfornece vários recursos para trabalhar com fontes, incluindo a incorporação de fontes no arquivo PDF.

O palestrante explica a importância de configurar o ambiente corretamente, instalando os pacotes NuGet necessários e registrando um provedor para System.Text.Encoding. Eles também apresentam um aplicativo de console simples que usaPDFSharppara gerar um arquivo PDF e demonstram como o código pode ser ajustado para incluir recursos mais complexos. O vídeo é um excelente recurso para qualquer pessoa interessada em gerar arquivos PDF usando C# e PDFSharp.
Criando listas e itens mais complexos
Na segunda parte do vídeo, o palestrante começa apresentando um exemplo mais complexo de criação de um documento PDF. Ele enfatiza que é inútil ter um documento PDF vazio e explica como criar uma nova página usando a biblioteca PDFSharp. Ele observa que o processo é semelhante à criação de itens em suplementos do Excel ou do PowerPoint e que, uma vez criada a página, ela funciona com uma referência que não requer a invocação de outro método.

O palestrante então introduz a variável XGraphics, que fornece métodos para desenhar coisas como texto, linhas e imagens — funcionalidades que o IronPDF lida por meio de sua API de carimbo de texto e imagem sem exigir cálculos manuais de coordenadas. A variável XFont também é introduzida como um meio de configurar uma fonte para uso no documento PDF. O palestrante observa que a fonte pode ser gerada em outro lugar, mas que é útil configurá-la globalmente se houver um arranjo mais complexo.
Em seguida, o palestrante discute o método DrawString, que escreve texto no arquivo PDF. Ele observa que a parte complexa do método é determinar onde o texto será desenhado e explica os vários parâmetros envolvidos, como a fonte, cor e limites de onde o texto pode alinhar. Ele também explica o uso da variável XBrushes para definir a cor do texto.
Explicando DrawString e Outros Métodos
O palestrante então apresenta vários exemplos de uso do método DrawString com diferentes parâmetros, como alinhar o texto no centro, alinhá-lo no canto inferior esquerdo e especificar as coordenadas exatas onde o texto será colocado. Ele observa que a última opção é a mais personalizável e oferece muita flexibilidade.

O palestrante explica como criar uma tabela usando elementos gráficos na linguagem de programação C#. Eles abordam como inserir imagens, textos e linhas, bem como como desenhar arcos e códigos de barras usando o recurso gráfico — tarefas que o IronPDF simplifica por meio de suas opções de renderização para margens, cabeçalhos e DPI . Eles também explicam a importância da tentativa e erro ao trabalhar com coordenadas e como desenhar linhas para separar as linhas.
O palestrante também aborda o cabeçalho da tabela e a necessidade de um ponto de partida para os valores e a linha. Ele explica como ajustar a posição y e adicionar linhas de registros, e como passar para outra página quando a tabela exceder um determinado número de registros. Por fim, mencionam a importância de redefinir os valores para cada página.
Qual biblioteca você deve escolher?
Em conclusão, o palestrante enfatiza a importância de estar familiarizado com os suplementos do Microsoft Office ao trabalhar com oPDFSharpe oferece seu próprio curso sobre o assunto. Ele também observa que a biblioteca é altamente versátil e pode ser usada para criar uma ampla gama de documentos PDF, desde documentos de texto simples até documentos mais complexos com imagens, gráficos e layouts personalizados.
O que é IronPDF?
IronPDF é uma biblioteca C# para criar, editar e manipular documentos PDF . Ele é enviado como um único pacote NuGet — Install-Package IronPdf — e integra-se com aplicativos .NET sem exigir configuração adicional de dependência.
PDFSharp fornece controle sólido de desenho de baixo nível e é distribuído sob uma licença permissiva MIT — duas forças genuínas que o tornaram um item básico em muitos projetos .NET. Os atritos costumam ocorrer quando os requisitos vão além da renderização baseada em coordenadas e abrangem áreas como conversão de HTML para PDF, assinaturas digitais ou criptografia de documentos.IronPDF é uma biblioteca com suporte comercial que aborda esses cenários como operações de primeira classe, com suporte Professional e uma API projetada em torno de fluxos de trabalho comuns de geração de documentos, incluindo renderização de HTML, CSS e JavaScript .
Características
| Características | IronPDF | PDFSharp |
|---|---|---|
| Converter HTML para PDF | Sim | Não |
| Suporte profissional | Sim | Não |
| Suporte para HTML, CSS e JavaScript | Sim | Não |
| Assinaturas digitais | Sim | Não |
| Criptografia | Sim | Não |
Uma das principais funcionalidades do IronPDF é a sua capacidade de converter HTML em IronPDF , facilitando a criação de documentos PDF a partir de páginas web. A conversão de HTML para PDF está fora do escopo atual doPDFSharp— ele opera em nível de desenho de coordenadas — portanto, equipes que precisem dessa capacidade geralmente adicionam uma biblioteca separada de renderização ou avaliam o mecanismo Chromium embutido do IronPDF.
O IronPDF também inclui suporte para assinaturas digitais e criptografia de PDF com proteção por senha , o que é crucial para documentos confidenciais que exigem manuseio seguro.PDFSharpnão é projetado para abordar esses cenários de segurança, então equipes com requisitos de conformidade ou proteção de documentos muitas vezes encontram esse um ponto natural de inflexão para avaliar o IronPDF.
IronPDF fornece um conjunto de recursos mais amplo e uma oferta de suporte mais abrangente em comparação ao PDFSharp, cobrindo renderização de HTML, encriptação e assinaturas digitais em um único pacote NuGet. É um produto comercial, no entanto, então equipes cujas necessidades se encaixam no modelo de desenho de coordenadas doPDFSharp— e que não precisam de conversão de HTML ou recursos de segurança embutidos — podem preferir a abordagem open-source e licenciada MIT do PDFSharp.
Além do custo da licença, o custo total do projeto inclui as horas de desenvolvedor gastas montando bibliotecas de renderização separadas, gerenciando layouts de página baseados em coordenadas para documentos complexos e resolvendo problemas na configuração multipacote que oPDFSharprequer. Para equipes que avaliam custos ao longo do ciclo de vida de um projeto de vários anos, esses custos de integração e manutenção frequentemente superam a diferença entre o licenciamento de código aberto e o comercial.
Pronto para ver como o IronPDF se encaixa no seu fluxo de trabalho? [Faça o download de uma versão de avaliação gratuita de 30 dias](trial-license para testar todos os recursos abordados nesta comparação.
Perguntas frequentes
Como posso gerar um arquivo PDF usando PDFsharp em C#?
Para gerar um PDF usando o PDFsharp, você precisa criar um novo documento PDF, adicionar uma página a ele e utilizar o objeto XGraphics para desenhar texto ou gráficos. Certifique-se de incluir as diretivas `using` para os namespaces PdfSharp.Drawing e PdfSharp.Pdf .
Quais são os pacotes NuGet essenciais necessários para o PDFsharp?
Para trabalhar de forma eficiente com o PDFsharp, você precisa instalar os seguintes pacotes NuGet: PDFsharp, System.Drawing.Common e System.Text.Encoding.CodePages. Esses pacotes são essenciais para o suporte à codificação e a geração correta de PDFs.
Como o IronPDF se compara ao PDFsharp para geração de PDFs em C#?
O IronPDF é uma biblioteca comercial que oferece recursos avançados como conversão de HTML para PDF, assinaturas digitais e criptografia, que não estão disponíveis no PDFsharp. Ele também fornece melhor documentação e suporte profissional, tornando-o mais fácil de usar para tarefas complexas.
Quais são as limitações do uso do PDFsharp para geração de PDFs?
O PDFsharp não suporta HTML, CSS ou JavaScript, o que limita seus casos de uso. Ele exige um bom conhecimento de configuração de codificação e suplementos do Microsoft Office para documentos complexos, o que pode torná-lo menos intuitivo em comparação com o IronPDF.
Por que o pacote System.Text.Encoding.CodePages é importante para o PDFsharp?
O pacote System.Text.Encoding.CodePages fornece o suporte necessário para codificação ao gerar arquivos PDF com o PDFsharp. Sem instalar e registrar corretamente este pacote, você poderá encontrar erros relacionados à codificação.
Posso converter HTML para PDF usando uma biblioteca C# gratuita?
Não, o PDFsharp não oferece suporte à conversão de HTML para PDF. Para essa funcionalidade, você precisaria de uma biblioteca comercial como o IronPDF, que oferece esse recurso juntamente com outras funcionalidades avançadas.
Como posso solucionar erros comuns no PDFsharp?
Erros comuns no PDFsharp geralmente surgem da configuração incorreta de pacotes NuGet ou de problemas de codificação. Certifique-se de que todos os pacotes necessários, incluindo System.Text.Encoding.CodePages, estejam instalados e registrados corretamente para resolver esses problemas.
Quais recursos avançados estão disponíveis no IronPDF para desenvolvedores C#?
O IronPDF oferece recursos avançados como conversão de HTML para PDF, assinaturas digitais, criptografia e a capacidade de lidar com CSS e JavaScript. Ele também fornece integração com aplicativos .NET e suporte profissional, tornando-se uma ferramenta poderosa para desenvolvedores.
Como posso personalizar o layout do texto em um PDF usando o PDFsharp?
Com o PDFsharp, você pode personalizar o layout do texto em um PDF utilizando o método DrawString da classe XGraphics . Isso permite definir propriedades como fonte, cor e alinhamento do texto dentro de limites especificados.
O PDFsharp é adequado para criar documentos PDF complexos em C#?
O PDFsharp consegue criar documentos PDF complexos, mas exige um sólido conhecimento de codificação e de complementos do Microsoft Office. O IronPDF pode ser uma opção melhor para tarefas complexas devido à sua API mais intuitiva e aos recursos adicionais.


