IronPDF vs PDFShift: Comparação de APIs C# para HTML e PDF
A IronPDF oferece uma biblioteca local confiável em C# com licenciamento perpétuo a partir de US$ 749, enquanto o PDFShift fornece uma API em nuvem com preços por conversão. Para startups que processam mais de 500 PDFs por mês, o IronPDF torna-se mais rentável, oferecendo maior privacidade de dados e capacidade de funcionamento offline.
O formato de documento portátil (PDF) é o padrão para representar texto, links, gráficos e muito mais em um único documento. A manipulação de PDFs em C# requer bibliotecas de PDF especializadas para aplicações .NET . Este artigo compara duas APIs diferentes para geração de PDFs, analisando seu desempenho, recursos e licenciamento. Ao desenvolver aplicações .NET , os programadores precisam de funcionalidades de geração de PDFs que lidem com layouts HTML complexos, estilos CSS e renderização em JavaScript .
As APIs de PDF discutidas são:
- IronPDF
- PDFShift
O que é o IronPDF?
IronPDF é uma API completa de conversão de HTML para PDF, projetada para desenvolvimento em .NET e .NET Core . A biblioteca converte sites HTML e oferece amplas funções de manipulação de PDF. O IronPDF permite que desenvolvedores criem , alterem e extraiam conteúdo de documentos PDF em ambientes .NET . A biblioteca simplifica a geração de PDFs a partir de páginas HTML e oferece suporte à conversão de CSHTML para PDF em aplicações MVC e Razor Pages .
Os arquivos PDF podem ser editados, carimbados e aprimorados com cabeçalhos e rodapés. A biblioteca simplifica a leitura de texto em PDF e a extração de imagens . O IronPDF utiliza um mecanismo .NET Chromium para renderização de HTML em PDF. Este mecanismo garante uma renderização perfeita em cada pixel e suporta tecnologias web modernas, incluindo a conversão de JavaScript para PDF . O mecanismo de renderização do Chrome representou um marco significativo em termos de precisão de renderização e otimização de desempenho .
Quais são os recursos oferecidos IronPDF ?
Quais opções de conversão para PDF estão disponíveis?
Crie PDFs a partir de HTML , strings HTML , visualizações MVC , formulários da Web e URLs . Também suporta conversões de Markdown , XML e RTF . Os recursos de conversão incluem transformações de DOCX para PDF e de imagem para PDF . Para aplicações web, o IronPDF lida com a conversão de páginas ASPX e suporta renderização CSHTML sem interface gráfica .
Como funciona a geração de imagens em PDF?
Criar imagens a partir de PDFs e PDFs a partir de imagens . Inclui extração de imagens, suporte a múltiplos formatos e impressão em PDF . Suporta gráficos SVG e imagens do Armazenamento de Blobs do Azure . A biblioteca realiza a conversão de TIFF com múltiplos quadros e oferece conversão de PDF para imagem de alta qualidade . Para processamento com uso eficiente de memória, utilize rasterização com MemoryStream .
Quais recursos de entrada/saída de arquivos estão incluídos?
O IronPDF oferece criptografia de 128 bits , proteção por senha e assinaturas digitais . Inclui assinatura HSM e conformidade com PDF/A . O marco PDF/A expandiu o suporte para formatos de arquivo, incluindo PDF/A-3 e ZUGFeRD . Recursos de segurança adicionais incluem a higienização de PDFs e o gerenciamento do histórico de revisões .
Como posso editar PDFs?
O IronPDF oferece marcas d'água , gerenciamento de páginas , planos de fundo , primeiros planos e manipulação completa de PDFs . Inclui desenho , anotações e gerenciamento de formulários . A edição avançada inclui substituição de texto , redação e transformação de páginas PDF . O marco PDFium DOM aprimora o processamento de estruturas PDF complexas.
Como extrair conteúdo de PDFs?
Extraia texto incorporado diretamente de PDFs. Para texto incorporado em imagens, use o IronOCR . O objeto DOM do PDF fornece acesso programático à estrutura do PDF. A extração avançada inclui a leitura de texto em PDF e o gerenciamento de fontes . Para análise de texto, utilize a integração com o OpenAI para processamento inteligente de documentos.
Como funcionam os cabeçalhos e rodapés?
Cabeçalhos e rodapés podem ser adicionados durante a criação ou a PDFs já existentes. Suporta cabeçalhos de texto e HTML com números de página dinâmicos. As opções avançadas incluem adicionar cabeçalhos em páginas específicas e gerenciar quebras de página . As opções de renderização oferecem controle preciso sobre o layout e o tamanho do papel .
Quais plataformas são compatíveis?
O IronPDF é compatível com sistemas operacionais e frameworks que utilizam C#:
- Windows e Windows Server
- Distribuições Linux macOS Intel e Apple Silicon
- .NET Core 2.1+, .NET 6 e 5
- Conformidade com o .NET Standard 2.0
- Microsoft Azure e Azure Functions
- AWS e AWS Lambda
- Contêineres Docker
- Android e Blazor
O marco de compatibilidade ampliou o suporte à plataforma. Para obter orientações sobre a implementação, consulte IronPDF e IIS e a resolução de problemas de implementação .
O que é PDFShift?
O PDFShift é uma API de conversão de HTML para PDF que oferece conversões rápidas por meio de serviços em nuvem. A API oferece conversões paralelas, consultas assíncronas, suporte a HTML bruto e muito mais. O PDFShift é compatível com Ruby, Python, JavaScript, Node e PHP. Para desenvolvedores VB .NET ou F# , o IronPDF oferece suporte nativo, enquanto o PDFShift requer integração HTTP. Para comparação com outros serviços em nuvem, veja Aspose vs IronPDF e Syncfusion vs IronPDF .
O PDFShift permite cabeçalhos/rodapés personalizados, aplicação de CSS e criptografia de arquivos. No entanto, o serviço carece de recursos avançados de manipulação, como compressão de PDF , linearização ou conformidade com PDF/UA . Para requisitos empresariais, revise as divulgações de vulnerabilidades de segurança (CVEs) e a autenticação Kerberos .
Quais são os recursos oferecidos pelo PDFShift?
Como funcionam as conversões paralelas?
O PDFShift suporta conversões paralelas para processamento simultâneo de documentos. Para funcionalidades semelhantes, consulte o guia de assincronismo e multithreading do IronPDF. O IronPDF fornece exemplos de geração paralela de PDFs e geração multithread com benchmarks de desempenho. Os exemplos assíncronos demonstram a otimização do processamento em lote.
Quais opções de cabeçalho e rodapé estão disponíveis?
Crie cabeçalhos/rodapés personalizados com números de página e CSS/ JavaScript. O IronPDF oferece opções avançadas, incluindo cabeçalhos de tabela repetidos e cabeçalhos HTML personalizados . Os cabeçalhos de texto clássicos oferecem uma implementação simples, enquanto os cabeçalhos HTML permitem layouts complexos. Para conteúdo dinâmico, utilize listeners de mensagens JavaScript .
Posso converter HTML bruto sem tornar as páginas públicas?
O PDFShift converte HTML bruto sem páginas públicas. O IronPDF oferece funcionalidades semelhantes com configuração de URL base e incorporação de DataURI . O exemplo de imagem incorporada em base64 mostra a conversão HTML autocontida. Para conversões seguras, utilize registro personalizado e cabeçalhos de solicitação HTTP .
Qual é a qualidade do PDF?
O PDFShift cria PDFs de alta fidelidade rapidamente. O mecanismo de renderização do Chrome do IronPDF produz PDFs com qualidade de pixel perfeita, idênticos à saída do navegador. O tutorial sobre perfeição de pixels explica a otimização da qualidade. Para requisitos específicos, configure as definições da viewport e os atrasos de renderização .
Como funcionam as requisições assíncronas?
Notificações em tempo real para conclusão de conversão com integração simples. O IronPDF oferece suporte assíncrono completo com exemplos de processamento em lote. O exemplo de geração assíncrona de PDF demonstra melhorias de desempenho. Para processamento em larga escala, consulte gerenciamento de memória e assistência de desempenho .
Como faço para criar um novo projeto no Visual Studio?
Abra o Visual Studio e selecione Arquivo > Novo Projeto > Aplicativo de Console. Este exemplo utiliza uma aplicação de console. Para obter instruções de configuração, consulte a visão geral da instalação e o guia de início rápido . Os modelos de projeto adicionais incluem tutoriais do Blazor e visualização de PDFs com MAUI . Para solucionar problemas de configuração, consulte o guia rápido de solução de problemas .
Insira o nome e o caminho do projeto. Clique em Criar. Selecione a .NET Framework desejada:
O Visual Studio gera a estrutura do aplicativo e abre o arquivo program.cs para entrada de código:
Como faço para instalar a biblioteca IronPDF ?
Instale o IronPDF de quatro maneiras:
- Gerenciador de Pacotes NuGet do Visual Studio
- Linha de comando do Visual Studio
- Download direto do NuGet
- Download direto do IronPDF
Para métodos alternativos, consulte o guia do Windows Installer ou a instalação avançada do NuGet . Os guias específicos para cada plataforma incluem configuração do Linux , instalação no macOS e implantação do Docker . Para ambientes com restrições de espaço, utilize o IronPDF Slim .
Como faço para usar o gerenciador de pacotes NuGet do Visual Studio?
O Visual Studio fornece o NuGet Package Manager para instalação direta:
Procure por "IronPDF" no gerenciador de pacotes:
Selecione IronPDF e instale o pacote . Para implantações menores, considere o IronPDF Slim . Caso encontre problemas, consulte Falha ao implantar o pacote NuGet e exceções de implantação .
Como faço para usar a linha de comando do Visual Studio?
Acesse Ferramentas > Gerenciador de Pacotes NuGet > Console do Gerenciador de Pacotes:
Digite no console:
Install-Package IronPdf
O pacote é baixado e instalado. Para instalações específicas de plataforma, consulte Implantação no Linux , macOS ou Docker . Para erros de dependência, verifique as dependências do Chrome e as dependências do Pdfium .
Posso baixar diretamente da página da NuGet ?
Baixe o pacote NuGet diretamente:
- Navegue até a página do IronPDF no NuGet
- Selecione o pacote de download
- Clique duas vezes para instalação automática
- Recarregar solução
Para gerenciamento de pacotes, consulte o guia de pastas de tempo de execução do IronPDF . Se estiver enfrentando conflitos de versão, verifique a incompatibilidade de versão do assembly e a compatibilidade com o ClickOnce .
Posso baixar diretamente do site do IronPDF ?
Faça o download na página de downloads do IronPDF . Após o download:
- Clique com o botão direito do mouse no projeto na janela de solução.
- Selecione as referências e navegue até o arquivo.
- Clique em OK
Para configurar o licenciamento, consulte a seção sobre como usar chaves de licença e aplicar licenças . As opções de configuração adicionais incluem definir a licença no arquivo Web.config e gerenciar as extensões de licença .
Como funciona o PDFShift?
O PDFShift opera remotamente via API. Enviar solicitações POST usando C# RestClient com autenticação de chave de API. O servidor processa as solicitações e retorna PDFs via HTTP. Para processamento local, o mecanismo nativo do IronPDF oferece melhor desempenho e segurança. Compare as opções de mecanismo nativo com as de mecanismo remoto . Para alternativas de API, veja Apryse vs IronPDF e iText vs IronPDF .
Como faço para criar PDFs a partir de HTML?
Ambas as ferramentas oferecem conversão de HTML com abordagens diferentes. O IronPDF oferece diversas opções, incluindo arquivos HTML ZIP e renderização personalizada . O tutorial sobre criação de PDFs aborda todos os métodos de geração. Para cenários avançados, explore a renderização em JavaScript e o tratamento de CSS responsivo .
Como faço para criar PDFs a partir de URLs usando o IronPDF?
A criação de PDFs a partir de URLs requer três linhas. Este exemplo de código mostra como o IronPDF permite que os desenvolvedores implementem a conversão de URL para PDF :
using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
// Configure render options for better results
Renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
Renderer.RenderingOptions.MarginTop = 25;
Renderer.RenderingOptions.MarginBottom = 25;
// Create a PDF from a URL or local file path
using var pdf = Renderer.RenderUrlAsPdf("___PROTECTED_URL_68___");
// Export to a file or Stream
pdf.SaveAs("url.pdf");
using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
// Configure render options for better results
Renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
Renderer.RenderingOptions.MarginTop = 25;
Renderer.RenderingOptions.MarginBottom = 25;
// Create a PDF from a URL or local file path
using var pdf = Renderer.RenderUrlAsPdf("___PROTECTED_URL_68___");
// Export to a file or Stream
pdf.SaveAs("url.pdf");
Imports IronPdf
Dim Renderer = New IronPdf.ChromePdfRenderer()
' Configure render options for better results
Renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4
Renderer.RenderingOptions.MarginTop = 25
Renderer.RenderingOptions.MarginBottom = 25
' Create a PDF from a URL or local file path
Using pdf = Renderer.RenderUrlAsPdf("___PROTECTED_URL_68___")
' Export to a file or Stream
pdf.SaveAs("url.pdf")
End Using
Para páginas autenticadas, consulte Logins de sites TLS . Para sites em JavaScript , use atrasos WaitFor e JavaScript personalizado . As opções avançadas incluem atrasos na renderização e conversão de JavaScript para PDF . Para otimização de desempenho, consulte as soluções para renderização inicial lenta .
Saída:
Como faço para converter HTML em PDF usando o IronPDF?
Converter HTML para PDF facilmente:
using IronPdf;
var pdf = new ChromePdfRenderer();
// Add custom CSS for better formatting
pdf.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
pdf.RenderingOptions.EnableJavaScript = true;
// Include web fonts and icons
pdf.RenderingOptions.WaitFor.FontsLoaded();
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
doc.SaveAs("FirstPDFDocument.pdf");
using IronPdf;
var pdf = new ChromePdfRenderer();
// Add custom CSS for better formatting
pdf.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
pdf.RenderingOptions.EnableJavaScript = true;
// Include web fonts and icons
pdf.RenderingOptions.WaitFor.FontsLoaded();
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
doc.SaveAs("FirstPDFDocument.pdf");
Imports IronPdf
Dim pdf = New ChromePdfRenderer()
' Add custom CSS for better formatting
pdf.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
pdf.RenderingOptions.EnableJavaScript = True
' Include web fonts and icons
pdf.RenderingOptions.WaitFor.FontsLoaded()
Dim doc As PdfDocument = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>")
doc.SaveAs("FirstPDFDocument.pdf")
Para HTML complexo, use URLs base para caminhos relativos. Adicione fontes da web e ícones para tipografia. As opções adicionais de formatação incluem fontes personalizadas e idiomas internacionais . Para solucionar problemas com fontes, consulte gerenciamento de fontes e problemas de espaçamento entre fontes .
Como faço para criar PDFs a partir de URLs usando o PDFShift?
A conversão de URLs com o PDFShift requer solicitações POST:
using System;
using RestSharp;
using RestSharp.Authenticators;
using System.IO;
namespace PDFShiftExample
{
class Program
{
static void Main(string[] args)
{
var client = new RestClient("___PROTECTED_URL_69___");
client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");
var request = new RestRequest(Method.POST);
var json = new
{
source = "___PROTECTED_URL_70___",
// Additional options
landscape = false,
use_print = false
};
request.AddJsonBody(json);
var response = client.Execute(request);
if (!response.IsSuccessful)
{
// Handle the unsuccessful response
Console.WriteLine($"Error: {response.StatusCode} - {response.ErrorMessage}");
}
else
{
File.WriteAllBytes("result.pdf", response.RawBytes);
}
}
}
}
using System;
using RestSharp;
using RestSharp.Authenticators;
using System.IO;
namespace PDFShiftExample
{
class Program
{
static void Main(string[] args)
{
var client = new RestClient("___PROTECTED_URL_69___");
client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");
var request = new RestRequest(Method.POST);
var json = new
{
source = "___PROTECTED_URL_70___",
// Additional options
landscape = false,
use_print = false
};
request.AddJsonBody(json);
var response = client.Execute(request);
if (!response.IsSuccessful)
{
// Handle the unsuccessful response
Console.WriteLine($"Error: {response.StatusCode} - {response.ErrorMessage}");
}
else
{
File.WriteAllBytes("result.pdf", response.RawBytes);
}
}
}
}
Imports System
Imports RestSharp
Imports RestSharp.Authenticators
Imports System.IO
Namespace PDFShiftExample
Module Program
Sub Main(args As String())
Dim client = New RestClient("___PROTECTED_URL_69___")
client.Authenticator = New HttpBasicAuthenticator("api", "your_api_key")
Dim request = New RestRequest(Method.POST)
Dim json = New With {
.source = "___PROTECTED_URL_70___",
.landscape = False,
.use_print = False
}
request.AddJsonBody(json)
Dim response = client.Execute(request)
If Not response.IsSuccessful Then
' Handle the unsuccessful response
Console.WriteLine($"Error: {response.StatusCode} - {response.ErrorMessage}")
Else
File.WriteAllBytes("result.pdf", response.RawBytes)
End If
End Sub
End Module
End Namespace
Como faço para converter HTML em PDF usando o PDFShift?
O PDFShift oferece conversão de HTML para PDF:
using System;
using System.IO;
using RestSharp;
using RestSharp.Authenticators;
namespace PDFShiftExample
{
class Program
{
static void Main(string[] args)
{
var client = new RestClient("___PROTECTED_URL_71___");
client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");
var request = new RestRequest(Method.POST);
string documentContent = File.ReadAllText("document.html");
var json = new
{
source = documentContent,
// Additional formatting options
margin = "20px",
format = "A4"
};
request.AddJsonBody(json);
var response = client.Execute(request);
if (!response.IsSuccessful)
{
// Handle the unsuccessful response
Console.WriteLine($"Error: {response.StatusCode}");
}
else
{
File.WriteAllBytes("result.pdf", response.RawBytes);
}
}
}
}
using System;
using System.IO;
using RestSharp;
using RestSharp.Authenticators;
namespace PDFShiftExample
{
class Program
{
static void Main(string[] args)
{
var client = new RestClient("___PROTECTED_URL_71___");
client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");
var request = new RestRequest(Method.POST);
string documentContent = File.ReadAllText("document.html");
var json = new
{
source = documentContent,
// Additional formatting options
margin = "20px",
format = "A4"
};
request.AddJsonBody(json);
var response = client.Execute(request);
if (!response.IsSuccessful)
{
// Handle the unsuccessful response
Console.WriteLine($"Error: {response.StatusCode}");
}
else
{
File.WriteAllBytes("result.pdf", response.RawBytes);
}
}
}
}
Imports System
Imports System.IO
Imports RestSharp
Imports RestSharp.Authenticators
Module PDFShiftExample
Sub Main()
Dim client = New RestClient("___PROTECTED_URL_71___")
client.Authenticator = New HttpBasicAuthenticator("api", "your_api_key")
Dim request = New RestRequest(Method.POST)
Dim documentContent As String = File.ReadAllText("document.html")
Dim json = New With {
.source = documentContent,
.margin = "20px",
.format = "A4"
}
request.AddJsonBody(json)
Dim response = client.Execute(request)
If Not response.IsSuccessful Then
' Handle the unsuccessful response
Console.WriteLine($"Error: {response.StatusCode}")
Else
File.WriteAllBytes("result.pdf", response.RawBytes)
End If
End Sub
End Module
Como adiciono cabeçalhos e rodapés personalizados?
Cabeçalhos e rodapés melhoram os documentos PDF, fornecendo informações consistentes em todas as páginas. Tanto o IronPDF quanto o PDFShift suportam essa funcionalidade. Para cenários avançados, consulte a seção sobre como adicionar cabeçalhos às páginas e o controle de quebra de página . O exemplo de numeração e quebra de páginas mostra a implementação completa. Para controlar o layout, explore as margens personalizadas e a orientação da página PDF .
Como adicionar cabeçalhos e rodapés usando o IronPDF?
O IronPDF oferece dois métodos para implementar cabeçalhos e rodapés :
TextHeaderFooter : Este método usa cabeçalhos baseados em texto com dados dinâmicos.
HtmlHeaderFooter : Esta abordagem permite cabeçalhos e rodapés renderizados em HTML usando modelos.
using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
// Configure text header with merge fields
Renderer.RenderingOptions.FirstPageNumber = 1; // use 2 if a cover page will be appended
Renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
Renderer.RenderingOptions.TextHeader.Font = IronPdf.Font.FontTypes.Helvetica;
Renderer.RenderingOptions.TextHeader.FontSize = 12;
// Add HTML footer with page numbers
Renderer.RenderingOptions.HtmlFooter = new IronPdf.HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>",
Height = 25,
DrawDividerLine = true
};
// Apply custom margins
Renderer.RenderingOptions.MarginTop = 40;
Renderer.RenderingOptions.MarginBottom = 40;
var pdf = Renderer.RenderHtmlAsPdf("<h1>Document with Headers</h1>");
pdf.SaveAs("headers-footers.pdf");
using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
// Configure text header with merge fields
Renderer.RenderingOptions.FirstPageNumber = 1; // use 2 if a cover page will be appended
Renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
Renderer.RenderingOptions.TextHeader.Font = IronPdf.Font.FontTypes.Helvetica;
Renderer.RenderingOptions.TextHeader.FontSize = 12;
// Add HTML footer with page numbers
Renderer.RenderingOptions.HtmlFooter = new IronPdf.HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>",
Height = 25,
DrawDividerLine = true
};
// Apply custom margins
Renderer.RenderingOptions.MarginTop = 40;
Renderer.RenderingOptions.MarginBottom = 40;
var pdf = Renderer.RenderHtmlAsPdf("<h1>Document with Headers</h1>");
pdf.SaveAs("headers-footers.pdf");
Imports IronPdf
Dim Renderer = New IronPdf.ChromePdfRenderer()
' Configure text header with merge fields
Renderer.RenderingOptions.FirstPageNumber = 1 ' use 2 if a cover page will be appended
Renderer.RenderingOptions.TextHeader.DrawDividerLine = True
Renderer.RenderingOptions.TextHeader.CenterText = "{url}"
Renderer.RenderingOptions.TextHeader.Font = IronPdf.Font.FontTypes.Helvetica
Renderer.RenderingOptions.TextHeader.FontSize = 12
' Add HTML footer with page numbers
Renderer.RenderingOptions.HtmlFooter = New IronPdf.HtmlHeaderFooter() With {
.HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>",
.Height = 25,
.DrawDividerLine = True
}
' Apply custom margins
Renderer.RenderingOptions.MarginTop = 40
Renderer.RenderingOptions.MarginBottom = 40
Dim pdf = Renderer.RenderHtmlAsPdf("<h1>Document with Headers</h1>")
pdf.SaveAs("headers-footers.pdf")
Para layouts complexos, considere usar sumário e marcadores . O exemplo de estrutura de tópicos e marcadores fornece uma estrutura de navegação. Para um posicionamento preciso, utilize o exemplo de margens personalizadas e transforme as páginas do PDF .
Como adiciono cabeçalhos e rodapés usando o PDFShift?
O PDFShift permite a personalização de documentos com cabeçalhos e rodapés para identificação ou marca:
using System;
using RestSharp;
using RestSharp.Authenticators;
using System.IO;
namespace PDFShiftExample
{
class Program
{
static void Main(string[] args)
{
var client = new RestClient("___PROTECTED_URL_72___");
client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");
var request = new RestRequest(Method.POST);
var json = new
{
source = "___PROTECTED_URL_73___",
footer = new {
source = "<div style=\"font-size: 12px\">Page {{page}} of {{total}}</div>",
spacing = "50px"
},
header = new {
source = "<div>Company Name</div>",
spacing = "30px"
}
};
request.AddJsonBody(json);
var response = client.Execute(request);
if (!response.IsSuccessful)
{
// Handle the unsuccessful response
}
else
{
File.WriteAllBytes("result.pdf", response.RawBytes);
}
}
}
}
using System;
using RestSharp;
using RestSharp.Authenticators;
using System.IO;
namespace PDFShiftExample
{
class Program
{
static void Main(string[] args)
{
var client = new RestClient("___PROTECTED_URL_72___");
client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");
var request = new RestRequest(Method.POST);
var json = new
{
source = "___PROTECTED_URL_73___",
footer = new {
source = "<div style=\"font-size: 12px\">Page {{page}} of {{total}}</div>",
spacing = "50px"
},
header = new {
source = "<div>Company Name</div>",
spacing = "30px"
}
};
request.AddJsonBody(json);
var response = client.Execute(request);
if (!response.IsSuccessful)
{
// Handle the unsuccessful response
}
else
{
File.WriteAllBytes("result.pdf", response.RawBytes);
}
}
}
}
Imports System
Imports RestSharp
Imports RestSharp.Authenticators
Imports System.IO
Namespace PDFShiftExample
Class Program
Shared Sub Main(ByVal args As String())
Dim client = New RestClient("___PROTECTED_URL_72___")
client.Authenticator = New HttpBasicAuthenticator("api", "your_api_key")
Dim request = New RestRequest(Method.POST)
Dim json = New With {
.source = "___PROTECTED_URL_73___",
.footer = New With {
.source = "<div style=""font-size: 12px"">Page {{page}} of {{total}}</div>",
.spacing = "50px"
},
.header = New With {
.source = "<div>Company Name</div>",
.spacing = "30px"
}
}
request.AddJsonBody(json)
Dim response = client.Execute(request)
If Not response.IsSuccessful Then
' Handle the unsuccessful response
Else
File.WriteAllBytes("result.pdf", response.RawBytes)
End If
End Sub
End Class
End Namespace
Como adiciono marcas d'água a PDFs?
A aplicação de marcas d'água em PDFs adiciona identidade visual e segurança aos documentos. Tanto o IronPDF quanto o PDFShift suportam marcas d'água. Para opções adicionais, consulte carimbar texto e imagens e carimbar novo conteúdo . O exemplo de marca d'água em PDF demonstra técnicas avançadas. Para processamento em lote, utilize a formatação HTML eficiente .
Como adicionar marcas d'água usando o IronPDF?
O IronPDF permite adicionar marcas d'água a PDFs usando HTML. As marcas d'água podem incluir opacidade, rotação e hiperlinks. Para exemplos, consulte Exemplos de marca d'água em PDF . Para múltiplos carimbos, considere a utilização de carimbos HTML eficientes . Opções adicionais incluem exemplos de planos de fundo e primeiros planos , além de desenho de texto e bitmap .
using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
using var Pdf = Renderer.RenderUrlAsPdf("___PROTECTED_URL_74___");
// Add text watermark with opacity and rotation
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>",
IronPdf.Editing.WaterMarkLocation.MiddleCenter,
50, // opacity
-45, // rotation
"___PROTECTED_URL_75___");
// Add image watermark
Pdf.ApplyWatermark("<img src='logo.png' style='width:200px'>",
30, // opacity
IronPdf.Editing.VerticalAlignment.Top,
IronPdf.Editing.HorizontalAlignment.Right);
Pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
using var Pdf = Renderer.RenderUrlAsPdf("___PROTECTED_URL_74___");
// Add text watermark with opacity and rotation
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>",
IronPdf.Editing.WaterMarkLocation.MiddleCenter,
50, // opacity
-45, // rotation
"___PROTECTED_URL_75___");
// Add image watermark
Pdf.ApplyWatermark("<img src='logo.png' style='width:200px'>",
30, // opacity
IronPdf.Editing.VerticalAlignment.Top,
IronPdf.Editing.HorizontalAlignment.Right);
Pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
Imports IronPdf
Dim Renderer As New IronPdf.ChromePdfRenderer()
Using Pdf = Renderer.RenderUrlAsPdf("___PROTECTED_URL_74___")
' Add text watermark with opacity and rotation
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>",
IronPdf.Editing.WaterMarkLocation.MiddleCenter,
50, ' opacity
-45, ' rotation
"___PROTECTED_URL_75___")
' Add image watermark
Pdf.ApplyWatermark("<img src='logo.png' style='width:200px'>",
30, ' opacity
IronPdf.Editing.VerticalAlignment.Top,
IronPdf.Editing.HorizontalAlignment.Right)
Pdf.SaveAs("C:\Path\To\Watermarked.pdf")
End Using
Para marcas d'água avançadas, combine com fundos e primeiros planos ou carimbos personalizados . O exemplo de página de rosto anexada mostra a identidade visual do documento. Para um controle preciso, utilize a rotação do texto e a escala dos objetos PDF .
Como adiciono marcas d'água usando o PDFShift?
O PDFShift permite adicionar marcas d'água aos documentos para fins de identificação:
using System;
using RestSharp;
using RestSharp.Authenticators;
using System.IO;
namespace PDFShiftExample
{
class Program
{
static void Main(string[] args)
{
var client = new RestClient("___PROTECTED_URL_76___");
client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");
var request = new RestRequest(Method.POST);
var json = new
{
source = "___PROTECTED_URL_77___",
watermark = new {
image = "___PROTECTED_URL_78___",
offset_x = 50,
offset_y = "100px",
rotate = 45,
opacity = 0.5
}
};
request.AddJsonBody(json);
var response = client.Execute(request);
if (!response.IsSuccessful)
{
// Handle the unsuccessful response
}
else
{
File.WriteAllBytes("result.pdf", response.RawBytes);
}
}
}
}
using System;
using RestSharp;
using RestSharp.Authenticators;
using System.IO;
namespace PDFShiftExample
{
class Program
{
static void Main(string[] args)
{
var client = new RestClient("___PROTECTED_URL_76___");
client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");
var request = new RestRequest(Method.POST);
var json = new
{
source = "___PROTECTED_URL_77___",
watermark = new {
image = "___PROTECTED_URL_78___",
offset_x = 50,
offset_y = "100px",
rotate = 45,
opacity = 0.5
}
};
request.AddJsonBody(json);
var response = client.Execute(request);
if (!response.IsSuccessful)
{
// Handle the unsuccessful response
}
else
{
File.WriteAllBytes("result.pdf", response.RawBytes);
}
}
}
}
Imports System
Imports RestSharp
Imports RestSharp.Authenticators
Imports System.IO
Namespace PDFShiftExample
Module Program
Sub Main(args As String())
Dim client = New RestClient("___PROTECTED_URL_76___")
client.Authenticator = New HttpBasicAuthenticator("api", "your_api_key")
Dim request = New RestRequest(Method.POST)
Dim json = New With {
.source = "___PROTECTED_URL_77___",
.watermark = New With {
.image = "___PROTECTED_URL_78___",
.offset_x = 50,
.offset_y = "100px",
.rotate = 45,
.opacity = 0.5
}
}
request.AddJsonBody(json)
Dim response = client.Execute(request)
If Not response.IsSuccessful Then
' Handle the unsuccessful response
Else
File.WriteAllBytes("result.pdf", response.RawBytes)
End If
End Sub
End Module
End Namespace
Quão bem essas ferramentas são compatíveis com Bootstrap e CSS moderno?
O desenvolvimento web moderno depende de frameworks CSS para design responsivo, e as bibliotecas de PDF devem converter esses frameworks com precisão. Consulte o guia de CSS do Bootstrap e Flex . Para um design responsivo, verifique as configurações de viewport e zoom , além de tamanhos de papel personalizados . O exemplo de tamanho de papel PDF personalizado mostra o dimensionamento preciso. Para controle de layout, explore as opções "ajustar ao papel", "zoom" e "HTML responsivo para PDF" .
O IronPDF é compatível com Bootstrap e frameworks CSS modernos?
O mecanismo de renderização do IronPDF para Chrome oferece amplo suporte a frameworks CSS:
Bootstrap 5: Flexbox completo e CSS Grid com utilitários responsivos
- Bootstrap 4: Sistemas de cartões completos, navegação, componentes de formulário
- Tailwind CSS: Todas as classes utilitárias e modificadores responsivos
- Fundamentos: Sistemas completos de grades e componentes CSS3 moderno: Flexbox, Grid, propriedades personalizadas, animações, transformações
Validação: A página inicial e os modelos do Bootstrap são convertidos corretamente. Consulte o guia de opções de renderização . O IronPDF oferece suporte à conversão de Angular para PDF, assim como a outras estruturas. O suporte adicional da estrutura inclui gráficos JavaScript e renderização WebGL . Para otimização, utilize configurações de renderização HTML e formatação perfeita em pixels .
Exemplo de código: Formulário de contato com Bootstrap
using IronPdf;
var renderer = new ChromePdfRenderer();
// Configure for improve Bootstrap rendering
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.RenderDelay = 500; // Allow JS to execute
renderer.RenderingOptions.ViewPortWidth = 1200; // Desktop viewport
string bootstrapContact = @"
<!DOCTYPE html>
<html>
<head>
<link href='___PROTECTED_URL_79___ rel='stylesheet'>
<style>
@media print {
.no-print { display: none; }
}
</style>
</head>
<body>
<div class='container my-5'>
<div class='row justify-content-center'>
<div class='col-lg-8'>
<div class='card shadow'>
<div class='card-header bg-primary text-white'>
<h2 class='mb-0'>Contact Us</h2>
</div>
<div class='card-body'>
<form>
<div class='row g-3'>
<div class='col-md-6'>
<label class='form-label'>First Name</label>
<input type='text' class='form-control' placeholder='John'>
</div>
<div class='col-md-6'>
<label class='form-label'>Last Name</label>
<input type='text' class='form-control' placeholder='Doe'>
</div>
</div>
<div class='mt-3'>
<label class='form-label'>Email Address</label>
<div class='input-group'>
<span class='input-group-text'>@</span>
<input type='email' class='form-control' placeholder='john.doe@example.com'>
</div>
</div>
<div class='mt-3'>
<label class='form-label'>Subject</label>
<select class='form-select'>
<option>General Inquiry</option>
<option>Technical Support</option>
<option>Sales Question</option>
<option>Partnership Opportunity</option>
</select>
</div>
<div class='mt-3'>
<label class='form-label'>Message</label>
<textarea class='form-control' rows='5' placeholder='Your message here...'></textarea>
</div>
<div class='d-flex justify-content-between align-items-center mt-4'>
<div class='form-check'>
<input class='form-check-input' type='checkbox' id='newsletter'>
<label class='form-check-label' for='newsletter'>
Subscribe to newsletter
</label>
</div>
<button type='submit' class='btn btn-primary px-4'>Submit</button>
</div>
</form>
</div>
</div>
<div class='alert alert-info mt-4 d-flex align-items-center' role='alert'>
<svg class='bi flex-shrink-0 me-2' width='24' height='24'></svg>
<div>We typically respond within 24 hours during business days.</div>
</div>
</div>
</div>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(bootstrapContact);
pdf.SaveAs("contact-form.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
// Configure for improve Bootstrap rendering
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.RenderDelay = 500; // Allow JS to execute
renderer.RenderingOptions.ViewPortWidth = 1200; // Desktop viewport
string bootstrapContact = @"
<!DOCTYPE html>
<html>
<head>
<link href='___PROTECTED_URL_79___ rel='stylesheet'>
<style>
@media print {
.no-print { display: none; }
}
</style>
</head>
<body>
<div class='container my-5'>
<div class='row justify-content-center'>
<div class='col-lg-8'>
<div class='card shadow'>
<div class='card-header bg-primary text-white'>
<h2 class='mb-0'>Contact Us</h2>
</div>
<div class='card-body'>
<form>
<div class='row g-3'>
<div class='col-md-6'>
<label class='form-label'>First Name</label>
<input type='text' class='form-control' placeholder='John'>
</div>
<div class='col-md-6'>
<label class='form-label'>Last Name</label>
<input type='text' class='form-control' placeholder='Doe'>
</div>
</div>
<div class='mt-3'>
<label class='form-label'>Email Address</label>
<div class='input-group'>
<span class='input-group-text'>@</span>
<input type='email' class='form-control' placeholder='john.doe@example.com'>
</div>
</div>
<div class='mt-3'>
<label class='form-label'>Subject</label>
<select class='form-select'>
<option>General Inquiry</option>
<option>Technical Support</option>
<option>Sales Question</option>
<option>Partnership Opportunity</option>
</select>
</div>
<div class='mt-3'>
<label class='form-label'>Message</label>
<textarea class='form-control' rows='5' placeholder='Your message here...'></textarea>
</div>
<div class='d-flex justify-content-between align-items-center mt-4'>
<div class='form-check'>
<input class='form-check-input' type='checkbox' id='newsletter'>
<label class='form-check-label' for='newsletter'>
Subscribe to newsletter
</label>
</div>
<button type='submit' class='btn btn-primary px-4'>Submit</button>
</div>
</form>
</div>
</div>
<div class='alert alert-info mt-4 d-flex align-items-center' role='alert'>
<svg class='bi flex-shrink-0 me-2' width='24' height='24'></svg>
<div>We typically respond within 24 hours during business days.</div>
</div>
</div>
</div>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(bootstrapContact);
pdf.SaveAs("contact-form.pdf");
Imports IronPdf
Dim renderer = New ChromePdfRenderer()
' Configure for improve Bootstrap rendering
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.RenderDelay = 500 ' Allow JS to execute
renderer.RenderingOptions.ViewPortWidth = 1200 ' Desktop viewport
Dim bootstrapContact As String = "
<!DOCTYPE html>
<html>
<head>
<link href='___PROTECTED_URL_79___ rel='stylesheet'>
<style>
@media print {
.no-print { display: none; }
}
</style>
</head>
<body>
<div class='container my-5'>
<div class='row justify-content-center'>
<div class='col-lg-8'>
<div class='card shadow'>
<div class='card-header bg-primary text-white'>
<h2 class='mb-0'>Contact Us</h2>
</div>
<div class='card-body'>
<form>
<div class='row g-3'>
<div class='col-md-6'>
<label class='form-label'>First Name</label>
<input type='text' class='form-control' placeholder='John'>
</div>
<div class='col-md-6'>
<label class='form-label'>Last Name</label>
<input type='text' class='form-control' placeholder='Doe'>
</div>
</div>
<div class='mt-3'>
<label class='form-label'>Email Address</label>
<div class='input-group'>
<span class='input-group-text'>@</span>
<input type='email' class='form-control' placeholder='john.doe@example.com'>
</div>
</div>
<div class='mt-3'>
<label class='form-label'>Subject</label>
<select class='form-select'>
<option>General Inquiry</option>
<option>Technical Support</option>
<option>Sales Question</option>
<option>Partnership Opportunity</option>
</select>
</div>
<div class='mt-3'>
<label class='form-label'>Message</label>
<textarea class='form-control' rows='5' placeholder='Your message here...'></textarea>
</div>
<div class='d-flex justify-content-between align-items-center mt-4'>
<div class='form-check'>
<input class='form-check-input' type='checkbox' id='newsletter'>
<label class='form-check-label' for='newsletter'>
Subscribe to newsletter
</label>
</div>
<button type='submit' class='btn btn-primary px-4'>Submit</button>
</div>
</form>
</div>
</div>
<div class='alert alert-info mt-4 d-flex align-items-center' role='alert'>
<svg class='bi flex-shrink-0 me-2' width='24' height='24'></svg>
<div>We typically respond within 24 hours during business days.</div>
</div>
</div>
</div>
</div>
</body>
</html>"
Dim pdf = renderer.RenderHtmlAsPdf(bootstrapContact)
pdf.SaveAs("contact-form.pdf")
Resultado: Um formulário de contato profissional com controles de formulário do Bootstrap, layout em grade, estilo de cartão e grupos de entrada — tudo renderizado com precisão em PDF.
Para mais exemplos, consulte renderização de gráficos e sites WebGL . O exemplo de adição de códigos de barras em HTML mostra elementos HTML adicionais. Para otimizar o desempenho, utilize recursos em PDF, um guia de desempenho e gerenciamento do tamanho do pacote .
O PDFShift é compatível com Bootstrap e CSS moderno?
- API na nuvem: Todas as conversões são feitas por meio de chamadas de API HTTP para os servidores do PDFShift.
- Suporte ao Bootstrap: Geralmente lida bem com layouts do Bootstrap 4/5.
- Suporte a CSS3: Flexbox eficiente e renderização CSS moderna.
- É necessário ter acesso à internet: não é possível gerar PDFs offline.
- Preços por documento: Cobrança por conversão, não por licença de desenvolvedor
Principais considerações para o PDFShift:
- Dependência externa: Toda a geração de PDFs requer disponibilidade de internet e API externa.
- Privacidade de dados: conteúdo HTML enviado a servidores de terceiros para processamento.
- Custos por volume: A precificação por documento pode se tornar cara em grande escala.
- Latência: As viagens de ida e volta na rede adicionam atraso a cada conversão.
- Sem capacidade offline: Não funciona em ambientes isolados da internet ou offline.
Impacto no desenvolvimento: Embora o PDFShift lide bem com o Bootstrap, a arquitetura em nuvem introduz algumas desvantagens operacionais:
- Custos contínuos por documento versus licença única por desenvolvedor do IronPDF
- Dependência de serviço externo versus processamento local no próprio ambiente.
- Considerações sobre o tratamento de dados sensíveis
- Requisito de conectividade com a internet versus capacidade offline
Impacto no desenvolvimento : A arquitetura em nuvem introduz considerações operacionais:
- Custos contínuos por documento versus licenciamento único
- Dependência externa versus controle de processamento local
- Requisitos de tratamento de dados para conteúdo sensível
- Pré-requisitos de conectividade com a Internet
Para aplicações de alto volume ou dados sensíveis, o processamento local do IronPDF oferece melhor controle e custo-benefício. Considere a geração paralela e o uso de múltiplas threads para melhorar o desempenho. O exemplo com múltiplas threads demonstra o processamento concorrente. Para alternativas em nuvem, consulte Implantação no Azure e integração com o AWS Lambda .
Consulte o Guia de CSS do Bootstrap e Flexbox e as configurações de renderização HTML . Para suporte a CSS moderno, consulte idiomas internacionais, CMYK e visibilidade de metadados .
Quais são as opções de licenciamento?
O IronPDF oferece uma licença de desenvolvedor gratuita . O pacote básico começa em $799, sem custos ocultos. O pacote inclui SaaS e redistribuição OEM . Todas as licenças incluem garantia de reembolso de 30 dias, um ano de suporte e atualizações, e são válidas para desenvolvimento, teste, homologação e produção, com licença perpétua. Consulte a tabela de preços e licenciamento do IronPDF . Para gerenciamento de licenças, consulte Aplicação de chaves de licença e Configuração de chaves de licença . O guia de chaves de licença abrange todos os métodos de configuração. Para solucionar problemas de licenciamento, consulte "Não foi possível conectar ao servidor de licenciamento" e "Usando declarações" .
O PDFShift oferece cinco pacotes disponíveis mensalmente ou anualmente, utilizando créditos:
- Gratuito : 50 créditos mensais
- Plano inicial : 500 créditos mensais (US$ 9) ou 6.000 créditos anuais (US$ 99)
- Boost : 2.500 créditos mensais (US$ 24) ou 30.000 créditos anuais (US$ 240)
- Crescimento : 5.000 créditos mensais (US$ 39) ou 60.000 créditos anuais (US$ 390)
- Empresarial : 25.000 créditos mensais (US$ 99)
Limites de tamanho de arquivo: 1 MB (gratuito), 5 MB (pacotes pagos).
Visite a página de preços do PDFShift .
Qual API de PDF devo escolher?
O IronPDF é gratuito para desenvolvedores independentes e oferece amplos recursos de modificação e conversão de PDFs. O IronPDF oferece ferramentas superiores de edição e formatação. A biblioteca converte HTML em PDFs vetoriais para impressão comercial, com resultados nítidos e de alta qualidade. Consulte as informações sobre licenciamento do Iron Software . Para obter recursos adicionais, explore as opções de organização de PDFs , assinatura e proteção de PDFs e conversão de PDFs . A lista completa de funcionalidades abrange todas as capacidades. Para recursos empresariais, consulte exemplos de assinaturas digitais e criptografia e descriptografia .
O PDFShift é uma API de conversão de HTML para PDF baseada na nuvem, com endpoints simples e suporte para vários idiomas. O PDFShift lida com conversões paralelas por meio de solicitações ao servidor. No entanto, o serviço carece de funcionalidades avançadas como criação de formulários em PDF , fusão de PDFs , substituição de texto ou edição de metadados . Para comparação do tratamento de formulários, veja o exemplo de dados do formulário e o preenchimento e edição de formulários . Para organização de documentos, veja o exemplo de mesclagem de PDFs e divisão de páginas de PDF .
As licenças do IronPDF são baseadas em desenvolvedores e são adquiridas em uma única parcela. O PDFShift utiliza um sistema de licenciamento mensal ou anual baseado em créditos, exigindo assinaturas contínuas. O IronPDF oferece suporte à distribuição OEM e SaaS; O PDFShift não. Para gerenciamento de licenças, consulte IronPDF e opções de atualização do IronPDF. O registro de alterações acompanha todas as atualizações do produto. Para opções de suporte, consulte o guia de solicitação de suporte de engenharia e as melhores práticas de suporte .
Comparando as duas ferramentas: o IronPDF oferece muito mais recursos. O PDFShift oferece recursos limitados de manipulação de PDFs. O IronPDF converte URLs em PDF em três linhas, enquanto o PDFShift exige uma complexidade de código adicional. O IronPDF integra-se de forma rápida e fácil em projetos .NET . O sistema em nuvem do PDFShift depende de APIs externas, o que aumenta a complexidade da integração. Para obter recursos de resolução de problemas, consulte o guia rápido de resolução de problemas e o suporte de engenharia . Recursos adicionais incluem arquivos de log do Azure e arquivos de log da AWS . Para obter orientações sobre a implementação, consulte a seção de solução de problemas e depuração de implementação do Azure Functions .
A Iron Software oferece cinco ferramentas pelo preço de duas. O Iron Suite inclui:
- IronBarcode - Geração e leitura de códigos de barras IronXL - Manipulação de arquivos Excel sem o Office IronOCR - OCR avançado para extração de texto IronPDF - Biblioteca completa para manipulação de PDFs
- IronWebScraper - Extração de dados e web scraping
Visite a página do Iron Suite para explorar o IRONSUITE. Para obter informações adicionais sobre os produtos da Iron Software , consulte a documentação do IronSecureDoc para suas necessidades de segurança de documentos. As demonstrações do produto mostram aplicações no mundo real. Para uma análise comparativa, consulte a comparação entre QuestPDF e IronPDF . A página de marcos importantes destaca as principais conquistas desde 2015.
Perguntas frequentes
Como posso converter HTML para PDF em C#?
Você pode usar o método RenderHtmlAsPdf do IronPDF para converter strings HTML em PDFs. Você também pode converter arquivos HTML em PDFs usando o RenderHtmlFileAsPdf .
Quais são os benefícios de usar o IronPDF para manipulação de PDFs?
O IronPDF oferece um conjunto robusto de recursos para manipulação de PDFs, incluindo a criação de PDFs a partir de vários formatos, extração de imagens, criptografia, recursos de edição e compatibilidade com múltiplas plataformas, como Windows, Linux e serviços em nuvem como Azure e AWS.
Quais são as principais funcionalidades do PDFShift?
O PDFShift é uma API baseada na nuvem que oferece suporte a conversões rápidas de HTML para PDF com recursos como conversões paralelas, cabeçalhos personalizados, solicitações assíncronas e compatibilidade com várias linguagens de programação.
Quais são as diferenças entre o IronPDF e o PDFShift em termos de licenciamento?
O IronPDF oferece um licenciamento baseado em desenvolvedores, com compra única e garantia de reembolso de 30 dias. Em contrapartida, o PDFShift utiliza um sistema de licenciamento baseado em créditos, com planos mensais e anuais.
O IronPDF pode ser usado em ambientes de nuvem?
Sim, o IronPDF é compatível com ambientes de nuvem como Microsoft Azure e AWS, o que o torna versátil para diferentes cenários de implantação.
Como adicionar cabeçalhos e rodapés a um PDF usando o IronPDF?
O IronPDF permite adicionar cabeçalhos e rodapés a PDFs usando seus métodos integrados, que podem ser personalizados para incluir texto, imagens ou números de página.
Quais plataformas o IronPDF suporta?
O IronPDF é compatível com quase todos os sistemas operacionais e frameworks compatíveis com C#, incluindo Windows, Linux e .NET Core, e também pode ser usado em ambientes de nuvem.
Como posso instalar o IronPDF no meu projeto do Visual Studio?
O IronPDF pode ser instalado usando o Gerenciador de Pacotes NuGet do Visual Studio, a Linha de Comando do Visual Studio ou baixando-o diretamente das páginas da web do NuGet ou do IronPDF.
É possível extrair imagens de PDFs usando o IronPDF?
Sim, o IronPDF oferece recursos para extrair imagens de PDFs, permitindo que os desenvolvedores manipulem e reutilizem imagens fora do documento original.



