IronPDF와 HiQPdf C# 간의 비교
IronPDF 및 HiQPdf 개요
.NET으로 작업하는 개발자에게 이상적인 PDF 솔루션을 찾는 것은 기능이 풍부한 애플리케이션을 작성하는 데 필수적입니다. 점점 더 많은 제품이 PDF 변환 기술을 제공함에 따라, 현대적인 시기에 필요한 도구를 찾기가 어려울 수 있습니다. 이 비교에서 우리가 평가할 제품은 IronPDF와 HiQPdf로, 두 가지 인기 있는 HTML-to-PDF 라이브러리입니다. 두 라이브러리 모두 강력한 PDF 생성 기능을 제공하지만, IronPDF는 보다 포괄적인 기능, 플랫폼 간 호환성 및 직관적인 API 덕분에 돋보입니다.
고급 편집 옵션, 플랫폼 간 지원 또는 사용의 용이성을 찾고 있든, IronPDF와 HiQPdf에 대한 이 직접 비교는 정보를 기반으로 한 결정을 내리는 데 도움이 될 것입니다.
주요 기능 요약
IronPDF는 C# 및 .NET용 다재다능한 PDF 라이브러리로, 원활한 PDF 생성, 편집 및 조작을 가능하게 합니다. .NET 8, 7, 6 및 Core을 지원하며, 개발자가 HTML에서 PDF 변환부터 암호화 및 디지털 서명과 같은 고급 보안 옵션까지 모든 것을 처리할 수 있는 풍부한 도구 세트와 함께 제공됩니다. IronPDF를 사용하면 각 PDF 페이지에 텍스트나 HTML 헤더를 추가하고, 텍스트 사용자 정의를 향상시키기 위해 웹 글꼴을 사용할 수 있으며, 텍스트를 추출하고, 스타일리시한 PDF 문서를 만들 수 있습니다!
HiQPdf는 주로 HTML을 PDF로 변환하는 데 중점을 두며, CSS3, JavaScript, SVG 및 캔버스 요소에 대한 견고한 지원을 제공합니다. 신뢰할 수 있는 PDF 생성을 제공하지만, HiQPdf는 IronPDF가 제공하는 일부 고급 기능과 유연성이 부족하며, 특히 플랫폼 간 호환성과 자세한 문서 편집에 있어서 그렇습니다.
주요 기능 비교: IronPDF 대 HiQPdf의 PDF 기능
IronPDF 기능
- PDF 변환: IronPDF는 HTML을 PDF로 변환할 수 있으며, 최신 웹 표준을 완벽하게 지원하여 HTML 페이지나 컨텐츠에서 픽셀 완벽한 PDF를 지속적으로 반환할 수 있습니다. IronPDF는 또한 DOCX, 이미지, RTF 등 다른 형식의 PDF 파일을 변환할 수 있습니다.
- PDF 생성: IronPDF로 URL, ASPX 파일 또는 HTML 문자열에서 PDF를 생성할 수 있습니다.
- 보안 기능: IronPDF의 보안 기능 덕분에 민감한 PDF 파일이 안전하다는 확신을 항상 가질 수 있습니다. IronPDF를 사용하여 PDF 파일을 암호화하고, 비밀번호를 설정하며, PDF 파일에 대한 권한을 설정하십시오.
- PDF 편집 기능: IronPDF로 기존 PDF 문서를 처리하고 편집하며, PDF 파일을 쉽게 읽을 수 있습니다. IronPDF는 PDF 페이지에 헤더와 푸터 추가, 텍스트 및 이미지를 PDF 페이지에 스탬핑, 사용자 정의 워터마크 추가, PDF 폼 작업, PDF 파일 분할 또는 병합 등의 편집 기능을 제공합니다.
- 통합: 다양한 ASP.NET 및 MVC 애플리케이션과 매끄럽게 통합됩니다.
- PDF 버전 지원: PDF 버전 1.2-1.7을 지원할 수 있습니다
IronPDF 기능의 포괄적인 목록은 IronPDF Features에서 확인하십시오.
HiQPdf 기능:
- HTML에서 PDF 변환: HTML5, CSS3, JavaScript, SVG 및 캔버스 요소를 지원합니다. HiQPdf는 정확한 충실도로 복잡한 페이지 레이아웃을 처리할 수 있습니다.
- PDF 내에서의 JavaScript 실행: 변환 후 PDF 내부에서 JavaScript를 실행하여 대화형 기능을 가능하게 합니다.
- 주석 및 책갈피: 댓글 및 하이라이트와 같은 표준 PDF 주석을 추가합니다.
- 사용자 정의 종이 크기 지원: PDF 생성 중에 사용자 정의 종이 크기를 정의할 수 있는 옵션을 제공합니다.
- 기본 비밀번호 보호: 접근 및 수정 제한을 위한 기본 비밀번호 옵션으로 PDF를 보호합니다.
- 페이지 분할 CSS 속성: CSS 속성
'page-break-before:always'을(를) 사용하여 생성된 PDF 문서의 페이지 분할을 제어하세요. - PDF 병합 및 분할: 여러 PDF를 하나의 문서로 결합하거나, 큰 PDF를 작은 파일로 분할하여 더 나은 관리성을 제공합니다.
IronPDF는 더 폭넓은 기능 세트를 가지고 있어, 더 나은 PDF 편집, 보안, 플랫폼 간 호환성을 제공하며, HiQPdf보다 우위를 점합니다.
플랫폼 간 호환성
IronPDF와 HiQPdf의 주요 차별점 중 하나는 플랫폼 간 호환성입니다. IronPDF는 Windows, Linux 및 macOS에 대한 원활한 지원을 제공하여 다양한 환경에서 작업하는 개발자에게 훌륭한 선택입니다. 또한 Docker, Azure, AWS 및 .NET 8, 7, 6, .NET Core를 포함한 주요 .NET 버전과도 호환됩니다.
HiQPdf는 기능적으로는 Windows 환경에 주로 초점을 맞춘 플랫폼 지원이 더 제한적입니다.
IronPDF와 HiQPdf 간의 코드 예제를 통한 주요 기능 비교
HTML을 PDF로 변환
IronPDF:
using IronPdf;
// Create a new PDF renderer
var renderer = new ChromePdfRenderer();
// Render HTML to PDF
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
pdf.SaveAs("output.pdf");
// Render HTML to PDF with assets
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
using IronPdf;
// Create a new PDF renderer
var renderer = new ChromePdfRenderer();
// Render HTML to PDF
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
pdf.SaveAs("output.pdf");
// Render HTML to PDF with assets
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Imports IronPdf
' Create a new PDF renderer
Private renderer = New ChromePdfRenderer()
' Render HTML to PDF
Private pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
pdf.SaveAs("output.pdf")
' Render HTML to PDF with assets
Dim myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
HiQPdf:
// Create the HTML to PDF converter
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();
// Convert HTML code to a PDF file
htmlToPdfConverter.ConvertHtmlToFile("<b>Hello World</b>", null, "result.pdf");
// Create the HTML to PDF converter
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();
// Convert HTML code to a PDF file
htmlToPdfConverter.ConvertHtmlToFile("<b>Hello World</b>", null, "result.pdf");
' Create the HTML to PDF converter
Dim htmlToPdfConverter As New HtmlToPdf()
' Convert HTML code to a PDF file
htmlToPdfConverter.ConvertHtmlToFile("<b>Hello World</b>", Nothing, "result.pdf")
HTML을 PDF로 변환하려면, IronPDF는 ChromePdfRenderer을(를) 사용하여 HTML 콘텐츠를 PDF로 렌더링하는 간단한 접근 방식을 제공합니다. HTML 문서, 문자열, URL을 사용할 때도 가능합니다. IronPDF는 또한 이미지와 같은 로컬 자산을 사용하여 HTML을 렌더링하는 등의 고급 시나리오도 지원합니다. 반면에 HiQPdf는 HtmlToPdf 클래스를 사용하여 HTML 콘텐츠를 PDF 파일로 직접 변환하는 더 기본적인 설정을 필요로 합니다. 두 라이브러리 모두 효과적으로 HTML을 PDF로 변환하지만, IronPDF는 자산 처리에서 추가적인 유연성을 제공합니다.
PDF 문서 암호화
IronPDF 예제:
using IronPdf;
// Load an existing PDF
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
// Set metadata and remove existing passwords
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
// Update security settings
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
// Set a new password and save the document
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
using IronPdf;
// Load an existing PDF
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
// Set metadata and remove existing passwords
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
// Update security settings
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
// Set a new password and save the document
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
Imports IronPdf
' Load an existing PDF
Private pdf = PdfDocument.FromFile("encrypted.pdf", "password")
' Set metadata and remove existing passwords
pdf.MetaData.Author = "Satoshi Nakamoto"
pdf.MetaData.Keywords = "SEO, Friendly"
pdf.MetaData.ModifiedDate = DateTime.Now
' Update security settings
pdf.SecuritySettings.RemovePasswordsAndEncryption()
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key")
pdf.SecuritySettings.AllowUserAnnotations = False
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserFormData = False
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights
' Set a new password and save the document
pdf.Password = "my-password"
pdf.SaveAs("secured.pdf")
HiQPdf:
// Create the HTML to PDF converter
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();
// Set encryption mode and level
htmlToPdfConverter.Document.Security.EncryptionMode = GetSelectedEncryptionMode();
htmlToPdfConverter.Document.Security.EncryptionLevel = GetSelectedEncryptionLevel();
// Set open and permissions passwords
htmlToPdfConverter.Document.Security.OpenPassword = textBoxOpenPassword.Text;
htmlToPdfConverter.Document.Security.PermissionsPassword = textBoxPermissionsPassword.Text;
// Set PDF document permissions
htmlToPdfConverter.Document.Security.AllowPrinting = checkBoxAllowPrint.Checked;
htmlToPdfConverter.Document.Security.AllowCopyContent = checkBoxAllowCopy.Checked;
htmlToPdfConverter.Document.Security.AllowEditContent = checkBoxAllowEdit.Checked;
htmlToPdfConverter.Document.Security.AllowEditAnnotations = checkBoxAllowEditAnnotations.Checked;
htmlToPdfConverter.Document.Security.AllowFormFilling = checkBoxAllowFillForms.Checked;
// Set default permissions password if necessary
if (htmlToPdfConverter.Document.Security.PermissionsPassword == string.Empty &&
(htmlToPdfConverter.Document.Security.OpenPassword != string.Empty || !IsDefaultPermission(htmlToPdfConverter.Document.Security)))
{
htmlToPdfConverter.Document.Security.PermissionsPassword = "admin";
}
// Create the HTML to PDF converter
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();
// Set encryption mode and level
htmlToPdfConverter.Document.Security.EncryptionMode = GetSelectedEncryptionMode();
htmlToPdfConverter.Document.Security.EncryptionLevel = GetSelectedEncryptionLevel();
// Set open and permissions passwords
htmlToPdfConverter.Document.Security.OpenPassword = textBoxOpenPassword.Text;
htmlToPdfConverter.Document.Security.PermissionsPassword = textBoxPermissionsPassword.Text;
// Set PDF document permissions
htmlToPdfConverter.Document.Security.AllowPrinting = checkBoxAllowPrint.Checked;
htmlToPdfConverter.Document.Security.AllowCopyContent = checkBoxAllowCopy.Checked;
htmlToPdfConverter.Document.Security.AllowEditContent = checkBoxAllowEdit.Checked;
htmlToPdfConverter.Document.Security.AllowEditAnnotations = checkBoxAllowEditAnnotations.Checked;
htmlToPdfConverter.Document.Security.AllowFormFilling = checkBoxAllowFillForms.Checked;
// Set default permissions password if necessary
if (htmlToPdfConverter.Document.Security.PermissionsPassword == string.Empty &&
(htmlToPdfConverter.Document.Security.OpenPassword != string.Empty || !IsDefaultPermission(htmlToPdfConverter.Document.Security)))
{
htmlToPdfConverter.Document.Security.PermissionsPassword = "admin";
}
' Create the HTML to PDF converter
Dim htmlToPdfConverter As New HtmlToPdf()
' Set encryption mode and level
htmlToPdfConverter.Document.Security.EncryptionMode = GetSelectedEncryptionMode()
htmlToPdfConverter.Document.Security.EncryptionLevel = GetSelectedEncryptionLevel()
' Set open and permissions passwords
htmlToPdfConverter.Document.Security.OpenPassword = textBoxOpenPassword.Text
htmlToPdfConverter.Document.Security.PermissionsPassword = textBoxPermissionsPassword.Text
' Set PDF document permissions
htmlToPdfConverter.Document.Security.AllowPrinting = checkBoxAllowPrint.Checked
htmlToPdfConverter.Document.Security.AllowCopyContent = checkBoxAllowCopy.Checked
htmlToPdfConverter.Document.Security.AllowEditContent = checkBoxAllowEdit.Checked
htmlToPdfConverter.Document.Security.AllowEditAnnotations = checkBoxAllowEditAnnotations.Checked
htmlToPdfConverter.Document.Security.AllowFormFilling = checkBoxAllowFillForms.Checked
' Set default permissions password if necessary
If htmlToPdfConverter.Document.Security.PermissionsPassword = String.Empty AndAlso (htmlToPdfConverter.Document.Security.OpenPassword <> String.Empty OrElse Not IsDefaultPermission(htmlToPdfConverter.Document.Security)) Then
htmlToPdfConverter.Document.Security.PermissionsPassword = "admin"
End If
PDF 문서 암호화에 관해서는 IronPDF가 자체 API를 통해 직관적인 접근을 제공합니다. 개발자는 기존 비밀번호를 제거하고 새로운 보안 설정을 설정하며 주석 작성, 복사 및 붙여넣기, 양식 데이터 입력 등의 사용자 동작을 제한하고 문서를 읽기 전용으로 만들 수 있습니다. IronPDF는 메타데이터 수정, 비밀번호 보호, 인쇄 권한에 대한 세밀한 제어를 허용합니다.
HiQPdf는 또한 PDF 암호화를 제공하지만 암호화 모드, 레벨, 열기 비밀번호, 권한 비밀번호 설정에 초점을 맞춘 약간 다른 프로세스를 제공합니다. 인쇄, 콘텐츠 복사 및 편집과 같은 문서 권한에 대한 세밀한 제어를 제공하며 명시적으로 설정되지 않은 경우 기본 권한이 제공됩니다. 두 라이브러리는 포괄적인 보안 설정을 제공하지만, IronPDF는 메타데이터 맞춤화 및 문서를 읽기 전용 모드로 더 쉽게 처리할 수 있는 추가 기능을 제공합니다.
PDF 문서 콘텐츠 검열
IronPDF 예제:
using IronPdf;
// Load an existing PDF
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
// Redact specific text
pdf.RedactTextOnAllPages("are");
// Save the updated PDF
pdf.SaveAs("redacted.pdf");
using IronPdf;
// Load an existing PDF
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
// Redact specific text
pdf.RedactTextOnAllPages("are");
// Save the updated PDF
pdf.SaveAs("redacted.pdf");
Imports IronPdf
' Load an existing PDF
Private pdf As PdfDocument = PdfDocument.FromFile("novel.pdf")
' Redact specific text
pdf.RedactTextOnAllPages("are")
' Save the updated PDF
pdf.SaveAs("redacted.pdf")
HiQPdf는 나열된 기능에서 명시적인 검열 기능을 제공하지 않습니다. 주로 HTML에서 PDF 생성, 변환 및 조작에 초점을 맞추고 있습니다.
IronPDF는 PDF 문서 페이지에서 콘텐츠 검열에 대한 간단한 접근을 제공합니다. 예를 들어 개발자는 몇 줄의 코드로 전체 문서에서 특정 텍스트를 쉽게 검열할 수 있으며, 위의 코드 스니펫에서 볼 수 있습니다. 대조적으로, HiQPdf는 명시적인 검열 기능이 없는 기능 세트를 가지고 있으며, 주로 PDF 생성, 변환, 및 HTML에서 PDF 생성에 초점을 맞추고 있습니다.
PDF 파일 디지털 서명
IronPDF 예제:
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
// Create a PDF from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
// Load a digital certificate and sign the PDF
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
var sig = new PdfSignature(cert);
pdf.Sign(sig);
// Save the signed PDF
pdf.SaveAs("signed.pdf");
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
// Create a PDF from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
// Load a digital certificate and sign the PDF
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
var sig = new PdfSignature(cert);
pdf.Sign(sig);
// Save the signed PDF
pdf.SaveAs("signed.pdf");
Imports IronPdf
Imports IronPdf.Signing
Imports System.Security.Cryptography.X509Certificates
' Create a PDF from HTML
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>foo</h1>")
' Load a digital certificate and sign the PDF
Private cert As New X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable)
Private sig = New PdfSignature(cert)
pdf.Sign(sig)
' Save the signed PDF
pdf.SaveAs("signed.pdf")
HiQPdf:
// Create a PDF document
PdfDocument document = new PdfDocument();
// Add a page to the document
PdfPage page1 = document.AddPage();
// Create fonts for text
Font sysFont = new Font("Times New Roman", 10, System.Drawing.GraphicsUnit.Point);
PdfFont pdfFontEmbed = document.CreateFont(sysFont, true);
// Add a title to the PDF document
PdfText titleTextTransImage = new PdfText(5, 20, "Click the image below to open the digital signature", pdfFontEmbed);
titleTextTransImage.ForeColor = Color.Navy;
PdfLayoutInfo textLayoutInfo = page1.Layout(titleTextTransImage);
// Layout a PNG image with alpha transparency
PdfImage transparentPdfImage = new PdfImage(5, 50, Server.MapPath("~") + @"\DemoFiles\Images\HiQPdfLogo_small.png");
PdfLayoutInfo imageLayoutInfo = page1.Layout(transparentPdfImage);
// Apply digital signature
PdfCertificatesCollection pdfCertificates = PdfCertificatesCollection.FromFile(Server.MapPath("~") + @"\DemoFiles\Pfx\hiqpdf.pfx", "hiqpdf");
PdfDigitalSignature digitalSignature = new PdfDigitalSignature(pdfCertificates[0]);
digitalSignature.SigningReason = "My signing reason";
digitalSignature.SigningLocation = "My signing location";
digitalSignature.SignerContactInfo = "My contact info";
document.AddDigitalSignature(digitalSignature, imageLayoutInfo.LastPdfPage, imageLayoutInfo.LastPageRectangle);
try
{
// Write the PDF document to a memory buffer
byte[] pdfBuffer = document.WriteToMemory();
// Inform the browser about the binary data format
HttpContext.Current.Response.AddHeader("Content-Type", "application/pdf");
// Let the browser know how to open the PDF document and the file name
HttpContext.Current.Response.AddHeader("Content-Disposition", String.Format("attachment; filename=DigitalSignatures.pdf; size={0}",
pdfBuffer.Length.ToString()));
// Write the PDF buffer to HTTP response
HttpContext.Current.Response.BinaryWrite(pdfBuffer);
// End the HTTP response
HttpContext.Current.Response.End();
}
finally
{
document.Close();
}
// Create a PDF document
PdfDocument document = new PdfDocument();
// Add a page to the document
PdfPage page1 = document.AddPage();
// Create fonts for text
Font sysFont = new Font("Times New Roman", 10, System.Drawing.GraphicsUnit.Point);
PdfFont pdfFontEmbed = document.CreateFont(sysFont, true);
// Add a title to the PDF document
PdfText titleTextTransImage = new PdfText(5, 20, "Click the image below to open the digital signature", pdfFontEmbed);
titleTextTransImage.ForeColor = Color.Navy;
PdfLayoutInfo textLayoutInfo = page1.Layout(titleTextTransImage);
// Layout a PNG image with alpha transparency
PdfImage transparentPdfImage = new PdfImage(5, 50, Server.MapPath("~") + @"\DemoFiles\Images\HiQPdfLogo_small.png");
PdfLayoutInfo imageLayoutInfo = page1.Layout(transparentPdfImage);
// Apply digital signature
PdfCertificatesCollection pdfCertificates = PdfCertificatesCollection.FromFile(Server.MapPath("~") + @"\DemoFiles\Pfx\hiqpdf.pfx", "hiqpdf");
PdfDigitalSignature digitalSignature = new PdfDigitalSignature(pdfCertificates[0]);
digitalSignature.SigningReason = "My signing reason";
digitalSignature.SigningLocation = "My signing location";
digitalSignature.SignerContactInfo = "My contact info";
document.AddDigitalSignature(digitalSignature, imageLayoutInfo.LastPdfPage, imageLayoutInfo.LastPageRectangle);
try
{
// Write the PDF document to a memory buffer
byte[] pdfBuffer = document.WriteToMemory();
// Inform the browser about the binary data format
HttpContext.Current.Response.AddHeader("Content-Type", "application/pdf");
// Let the browser know how to open the PDF document and the file name
HttpContext.Current.Response.AddHeader("Content-Disposition", String.Format("attachment; filename=DigitalSignatures.pdf; size={0}",
pdfBuffer.Length.ToString()));
// Write the PDF buffer to HTTP response
HttpContext.Current.Response.BinaryWrite(pdfBuffer);
// End the HTTP response
HttpContext.Current.Response.End();
}
finally
{
document.Close();
}
' Create a PDF document
Dim document As New PdfDocument()
' Add a page to the document
Dim page1 As PdfPage = document.AddPage()
' Create fonts for text
Dim sysFont As New Font("Times New Roman", 10, System.Drawing.GraphicsUnit.Point)
Dim pdfFontEmbed As PdfFont = document.CreateFont(sysFont, True)
' Add a title to the PDF document
Dim titleTextTransImage As New PdfText(5, 20, "Click the image below to open the digital signature", pdfFontEmbed)
titleTextTransImage.ForeColor = Color.Navy
Dim textLayoutInfo As PdfLayoutInfo = page1.Layout(titleTextTransImage)
' Layout a PNG image with alpha transparency
Dim transparentPdfImage As New PdfImage(5, 50, Server.MapPath("~") & "\DemoFiles\Images\HiQPdfLogo_small.png")
Dim imageLayoutInfo As PdfLayoutInfo = page1.Layout(transparentPdfImage)
' Apply digital signature
Dim pdfCertificates As PdfCertificatesCollection = PdfCertificatesCollection.FromFile(Server.MapPath("~") & "\DemoFiles\Pfx\hiqpdf.pfx", "hiqpdf")
Dim digitalSignature As New PdfDigitalSignature(pdfCertificates(0))
digitalSignature.SigningReason = "My signing reason"
digitalSignature.SigningLocation = "My signing location"
digitalSignature.SignerContactInfo = "My contact info"
document.AddDigitalSignature(digitalSignature, imageLayoutInfo.LastPdfPage, imageLayoutInfo.LastPageRectangle)
Try
' Write the PDF document to a memory buffer
Dim pdfBuffer() As Byte = document.WriteToMemory()
' Inform the browser about the binary data format
HttpContext.Current.Response.AddHeader("Content-Type", "application/pdf")
' Let the browser know how to open the PDF document and the file name
HttpContext.Current.Response.AddHeader("Content-Disposition", String.Format("attachment; filename=DigitalSignatures.pdf; size={0}", pdfBuffer.Length.ToString()))
' Write the PDF buffer to HTTP response
HttpContext.Current.Response.BinaryWrite(pdfBuffer)
' End the HTTP response
HttpContext.Current.Response.End()
Finally
document.Close()
End Try
디지털 서명에서 IronPDF는 개발자가 HTML 콘텐츠에서 PDF 문서를 생성하고 디지털 인증서로 서명한 다음 최소한의 코드로 저장할 수 있도록 쉽게 접근할 수 있게 합니다. HiQPdf는 반면에 복잡한 설정이 필요하며, 프로그래밍적으로 페이지를 추가하고 글꼴을 포함하여 PDF 문서를 생성해야 합니다. 제목과 이미지가 포함된 다음, 지정된 인증서를 사용하여 디지털 서명을 적용하고, 서명 이유 및 위치와 같은 상세한 메타데이터가 제공됩니다.
맞춤형 워터마크 적용하기
IronPDF 예제:
using IronPdf;
// Create a PDF renderer and render URL
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
// Apply a watermark to the PDF
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
// Save the PDF
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
using IronPdf;
// Create a PDF renderer and render URL
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
// Apply a watermark to the PDF
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
// Save the PDF
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
Imports IronPdf
' Create a PDF renderer and render URL
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
' Apply a watermark to the PDF
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)
' Save the PDF
pdf.SaveAs("C:\Path\To\Watermarked.pdf")
HiQPdf:
전용 워터마크 도구가 내장되어 있지 않습니다.
사용자 정의 워터마크를 적용할 때, IronPDF는 PDF에 워터마크를 추가하기 위한 내장 지원으로 간단한 솔루션을 제공합니다. 예제에서 URL이 PDF로 렌더링되고 HTML 스타일링이 적용된 사용자 정의 가능한 워터마크가 페이지 중앙에 적용됩니다. 이는 워터마크의 콘텐츠, 스타일 및 위치의 수정을 쉽게 합니다. 반면에 HiQPdf는 내장된 전용 워터마크 도구가 없어 라이브러리 내에서 이 기능을 직접적으로 필요로 하는 개발자에게는 덜 편리합니다.
이미지 및 텍스트를 PDF에 스탬핑
IronPDF 예제 (텍스트 스탬프):
using IronPdf;
using IronPdf.Editing;
// Create a PDF from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create and apply a text stamp
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top
};
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
using IronPdf;
using IronPdf.Editing;
// Create a PDF from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create and apply a text stamp
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top
};
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
Imports IronPdf
Imports IronPdf.Editing
' Create a PDF from HTML
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create and apply a text stamp
Private textStamper As New TextStamper() With {
.Text = "Text Stamper!",
.FontFamily = "Bungee Spice",
.UseGoogleFont = True,
.FontSize = 30,
.IsBold = True,
.IsItalic = True,
.VerticalAlignment = VerticalAlignment.Top
}
pdf.ApplyStamp(textStamper)
pdf.SaveAs("stampText.pdf")
IronPDF 예제 (이미지 스탬프):
using IronPdf;
using IronPdf.Editing;
// Create a PDF from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create and apply an image stamp
ImageStamper imageStamper = new ImageStamper(new Uri("/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top
};
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
using IronPdf;
using IronPdf.Editing;
// Create a PDF from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create and apply an image stamp
ImageStamper imageStamper = new ImageStamper(new Uri("/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top
};
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
Imports IronPdf
Imports IronPdf.Editing
' Create a PDF from HTML
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create and apply an image stamp
Private imageStamper As New ImageStamper(New Uri("/img/svgs/iron-pdf-logo.svg")) With {.VerticalAlignment = VerticalAlignment.Top}
pdf.ApplyStamp(imageStamper, 0)
pdf.SaveAs("stampImage.pdf")
HiQPdf:
HiQPdf는 PDF 문서에 텍스트나 이미지를 스탬프로 직접 추가할 수 있는 전용 스탬핑 도구가 없습니다. 그러나 텍스트, 이미지 및 그래픽 객체를 PDF에 추가할 수 있어 유사한 목적을 수행할 수 있습니다. 이것은 라이브러리 내에 사용할 수 있는 기능을 사용하여 PDF 내에 텍스트 객체와 이미지 객체를 생성하여 달성할 수 있습니다.
IronPDF는 기존 PDF 문서나 새로 생성된 문서에 직접 텍스트와 이미지를 스탬핑할 수 있는 전용 클래스를 제공하여 개발자에게 간단한 프로세스를 제공합니다. 대조적으로, HiQPdf는 전용 스탬핑 도구가 없으며; 대신 사용자가 PDF 내에 텍스트 및 이미지 객체를 추가하도록 하여 유사한 결과를 얻기 위해 더 수동적인 접근을 필요로 합니다.
DOCX를 PDF로 변환하기
IronPDF 예제:
using IronPdf;
// Render DOCX to PDF
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the converted PDF
pdf.SaveAs("pdfFromDocx.pdf");
using IronPdf;
// Render DOCX to PDF
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the converted PDF
pdf.SaveAs("pdfFromDocx.pdf");
Imports IronPdf
' Render DOCX to PDF
Private renderer As New DocxToPdfRenderer()
Private pdf As PdfDocument = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx")
' Save the converted PDF
pdf.SaveAs("pdfFromDocx.pdf")
HiQPdf:
주로 HTML에서 PDF로 변환하는 라이브러리인 HiQPdf는 내장된 DOCX를 PDF로 변환 도구를 제공하지 않습니다.
IronPDF는 DOCX 파일을 PDF로 변환할 수 있는 DocxToPdfRenderer 클래스를 통해 직접적인 지원을 제공합니다. 반면에 HiQPdf는 DOCX 파일을 PDF로 변환할 수 있는 내장 도구가 없으며, HTML을 PDF로 변환하는 데 중점을 둡니다.
코드 예제 비교 요약

IronPDF가 제공하는 다양한 기능에 대해 더 알고 싶고 이를 실행하는 것을 보고 싶다면, IronPDF의 사용 방법 가이드를 확인하여 각 기능을 깊이 탐구하고, 어떻게 작동하는지 배우고, PDF 전문가가 되는 데 필요한 기술을 얻을 수 있습니다.
현대 CSS 프레임워크와 Bootstrap 렌더링
현대 웹 애플리케이션은 빠른 개발과 일관된 UI 디자인을 위해 점점 더 많이 CSS 프레임워크인 Bootstrap을 채택하고 있으며, PDF 생성 라이브러리는 프레임워크 레이아웃을 정확하게 유지하여 전문적인 품질을 유지해야 합니다.
IronPDF: 완전한 Bootstrap 및 프레임워크 지원
IronPDF의 Chromium 렌더링 엔진은 모든 최신 CSS 프레임워크에 대한 포괄적인 지원을 제공합니다:
- Bootstrap 5: 모든 반응형 유틸리티와 함께 Flexbox 및 CSS Grid 지원
- Bootstrap 4: 완전한 카드 시스템, 내비게이션, 양식 구성 요소
- Tailwind CSS: 모든 유틸리티 클래스와 반응형 수정자
- Foundation: 완전한 그리드 및 구성 요소 시스템
- 현대 CSS3: Flexbox, Grid, 사용자 정의 속성, 애니메이션, 변환
생산 예제로 검증됨: Bootstrap 홈페이지 및 Bootstrap 템플릿은 픽셀 단위의 정확도로 변환됩니다.
코드 예제: Bootstrap을 사용한 블로그 글 목록
using IronPdf;
var renderer = new ChromePdfRenderer();
string bootstrapBlog = @"
<!DOCTYPE html>
<html>
<head>
<link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
<div class='container my-5'>
<h1 class='text-center mb-5'>Latest Blog Posts</h1>
<article class='card mb-4 shadow-sm'>
<div class='row g-0'>
<div class='col-md-4'>
<img src='https://via.placeholder.com/400x300' class='img-fluid rounded-start' alt='Blog post'>
</div>
<div class='col-md-8'>
<div class='card-body d-flex flex-column h-100'>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span class='badge bg-primary'>Technology</span>
<small class='text-muted'>March 15, 2025</small>
</div>
<h2 class='card-title h4'>The Future of Web Development</h2>
<p class='card-text flex-grow-1'>Exploring emerging trends in web development including serverless architecture, edge computing, and the evolution of JavaScript frameworks...</p>
<div class='mt-auto'>
<a href='#' class='btn btn-outline-primary'>Read More</a>
</div>
</div>
</div>
</div>
</article>
<article class='card mb-4 shadow-sm'>
<div class='row g-0'>
<div class='col-md-4'>
<img src='https://via.placeholder.com/400x300' class='img-fluid rounded-start' alt='Blog post'>
</div>
<div class='col-md-8'>
<div class='card-body d-flex flex-column h-100'>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span class='badge bg-success'>Tutorial</span>
<small class='text-muted'>March 10, 2025</small>
</div>
<h2 class='card-title h4'>Mastering Docker Containerization</h2>
<p class='card-text flex-grow-1'>A comprehensive guide to Docker containerization, from basics to advanced deployment strategies for production environments...</p>
<div class='mt-auto'>
<a href='#' class='btn btn-outline-primary'>Read More</a>
</div>
</div>
</div>
</div>
</article>
<nav aria-label='Blog pagination'>
<ul class='pagination justify-content-center'>
<li class='page-item disabled'>
<a class='page-link'>Previous</a>
</li>
<li class='page-item active'><a class='page-link' href='#'>1</a></li>
<li class='page-item'><a class='page-link' href='#'>2</a></li>
<li class='page-item'><a class='page-link' href='#'>3</a></li>
<li class='page-item'>
<a class='page-link' href='#'>Next</a>
</li>
</ul>
</nav>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(bootstrapBlog);
pdf.SaveAs("blog-posts.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
string bootstrapBlog = @"
<!DOCTYPE html>
<html>
<head>
<link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
<div class='container my-5'>
<h1 class='text-center mb-5'>Latest Blog Posts</h1>
<article class='card mb-4 shadow-sm'>
<div class='row g-0'>
<div class='col-md-4'>
<img src='https://via.placeholder.com/400x300' class='img-fluid rounded-start' alt='Blog post'>
</div>
<div class='col-md-8'>
<div class='card-body d-flex flex-column h-100'>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span class='badge bg-primary'>Technology</span>
<small class='text-muted'>March 15, 2025</small>
</div>
<h2 class='card-title h4'>The Future of Web Development</h2>
<p class='card-text flex-grow-1'>Exploring emerging trends in web development including serverless architecture, edge computing, and the evolution of JavaScript frameworks...</p>
<div class='mt-auto'>
<a href='#' class='btn btn-outline-primary'>Read More</a>
</div>
</div>
</div>
</div>
</article>
<article class='card mb-4 shadow-sm'>
<div class='row g-0'>
<div class='col-md-4'>
<img src='https://via.placeholder.com/400x300' class='img-fluid rounded-start' alt='Blog post'>
</div>
<div class='col-md-8'>
<div class='card-body d-flex flex-column h-100'>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span class='badge bg-success'>Tutorial</span>
<small class='text-muted'>March 10, 2025</small>
</div>
<h2 class='card-title h4'>Mastering Docker Containerization</h2>
<p class='card-text flex-grow-1'>A comprehensive guide to Docker containerization, from basics to advanced deployment strategies for production environments...</p>
<div class='mt-auto'>
<a href='#' class='btn btn-outline-primary'>Read More</a>
</div>
</div>
</div>
</div>
</article>
<nav aria-label='Blog pagination'>
<ul class='pagination justify-content-center'>
<li class='page-item disabled'>
<a class='page-link'>Previous</a>
</li>
<li class='page-item active'><a class='page-link' href='#'>1</a></li>
<li class='page-item'><a class='page-link' href='#'>2</a></li>
<li class='page-item'><a class='page-link' href='#'>3</a></li>
<li class='page-item'>
<a class='page-link' href='#'>Next</a>
</li>
</ul>
</nav>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(bootstrapBlog);
pdf.SaveAs("blog-posts.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim bootstrapBlog As String = "
<!DOCTYPE html>
<html>
<head>
<link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
<div class='container my-5'>
<h1 class='text-center mb-5'>Latest Blog Posts</h1>
<article class='card mb-4 shadow-sm'>
<div class='row g-0'>
<div class='col-md-4'>
<img src='https://via.placeholder.com/400x300' class='img-fluid rounded-start' alt='Blog post'>
</div>
<div class='col-md-8'>
<div class='card-body d-flex flex-column h-100'>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span class='badge bg-primary'>Technology</span>
<small class='text-muted'>March 15, 2025</small>
</div>
<h2 class='card-title h4'>The Future of Web Development</h2>
<p class='card-text flex-grow-1'>Exploring emerging trends in web development including serverless architecture, edge computing, and the evolution of JavaScript frameworks...</p>
<div class='mt-auto'>
<a href='#' class='btn btn-outline-primary'>Read More</a>
</div>
</div>
</div>
</div>
</article>
<article class='card mb-4 shadow-sm'>
<div class='row g-0'>
<div class='col-md-4'>
<img src='https://via.placeholder.com/400x300' class='img-fluid rounded-start' alt='Blog post'>
</div>
<div class='col-md-8'>
<div class='card-body d-flex flex-column h-100'>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span class='badge bg-success'>Tutorial</span>
<small class='text-muted'>March 10, 2025</small>
</div>
<h2 class='card-title h4'>Mastering Docker Containerization</h2>
<p class='card-text flex-grow-1'>A comprehensive guide to Docker containerization, from basics to advanced deployment strategies for production environments...</p>
<div class='mt-auto'>
<a href='#' class='btn btn-outline-primary'>Read More</a>
</div>
</div>
</div>
</div>
</article>
<nav aria-label='Blog pagination'>
<ul class='pagination justify-content-center'>
<li class='page-item disabled'>
<a class='page-link'>Previous</a>
</li>
<li class='page-item active'><a class='page-link' href='#'>1</a></li>
<li class='page-item'><a class='page-link' href='#'>2</a></li>
<li class='page-item'><a class='page-link' href='#'>3</a></li>
<li class='page-item'>
<a class='page-link' href='#'>Next</a>
</li>
</ul>
</nav>
</div>
</body>
</html>"
Dim pdf = renderer.RenderHtmlAsPdf(bootstrapBlog)
pdf.SaveAs("blog-posts.pdf")
출력: Bootstrap의 카드 레이아웃, Flexbox 정렬, 배지 컴포넌트 및 페이지 네이션이 모두 PDF에 정확히 렌더링 된 전문적인 블로그 목록.
HiQPdf: 제한된 현대 프레임워크 지원
HiQPdf는 현대 CSS 프레임워크에 상당한 제한이 있는 WebKit 기반의 HTML 렌더링을 사용합니다.
- WebKit 엔진: CSS3 지원이 불완전한 오래된 WebKit 버전
- 제한된 Flexbox: Bootstrap 4/5의 Flexbox 레이아웃은 제대로 렌더링되지 않을 수 있습니다.
- No CSS Grid: 최신 그리드 시스템이 지원되지 않습니다
- Bootstrap 3 제한: 구형 테이블 기반 Bootstrap 버전만 신뢰할 수 있게 작동합니다
- JavaScript 제한: 최신 브라우저에 비해 감소된 JavaScript 실행
HiQPdf와 관련된 개발자 보고 문제:
- Bootstrap 내비게이션 구성 요소는 정렬 문제와 함께 렌더링됩니다
- Flexbox 기반 카드 레이아웃이 올바르게 표시되지 않습니다
- PDF 출력에서 반응형 유틸리티 및 분기점이 무시됩니다
- 복잡한 Bootstrap 구성 요소는 상당한 CSS 대체가 필요합니다
개발 영향: Bootstrap 4+를 사용하는 애플리케이션은 HiQPdf와 함께 상당한 추가 작업이 필요합니다. 팀은 PDF 생성을 위한 단순화된 CSS를 병행 유지(이중 유지 관리 부담)하거나, UI를 Bootstrap 3으로 제한(현대적 기능 희생)하거나, 구성 요소를 광범위하게 테스트 및 수동으로 고쳐야 합니다(시간 소모 및 불안정).
포괄적인 Bootstrap 호환성 지침은 Bootstrap & Flexbox CSS Guide를 참조하세요.
문서 및 지원: IronPDF vs. HiQPdf
IronPDF 문서 및 지원
IronPDF는 개발자 친화적인 문서 경험을 제공합니다. 탄탄한 문서를 통해 초보자이든 고급 사용자이든 관계없이 개발자가 IronPDF를 효과적으로 프로젝트에 통합할 수 있도록 합니다. IronPDF 문서의 주요 측면에는 다음이 포함됩니다:
- 단계별 가이드: 모든 기능에 대한 포괄적인 튜토리얼로 개발자가 시작부터 끝까지 명확한 경로를 가질 수 있도록 보장합니다.
- 24/5 기술 지원: 월요일부터 금요일까지 근무 시간 동안 질문이나 문제에 대한 도움을 줄 수 있는 엔지니어가 있습니다.
- 실시간 채팅: 라이선스 또는 기술 관련 질문을 해결하기 위한 실시간 지원.
- 이메일 지원: 사용자는 상세한 문의를 위해 연락할 수 있으며, 응답은 신속하고 도움이 됩니다.
- API 참조: 각 메서드와 속성에 대한 예제가 포함된 상세한 API 문서.
- 코드 샘플: HTML을 PDF로 변환, 암호화, 워터마크 등을 포함한 일반 작업을 위한 사용 가능한 코드 스니펫.
- 정기 업데이트: 라이브러리 변경 및 새로운 기능을 반영하기 위해 자주 업데이트되는 문서.
자세한 내용은 IronPDF의 광범위한 문서화를 확인하고, Iron Software YouTube 채널을 방문하세요.
HiQPdf 문서 및 지원
HiQPdf는 대부분의 핵심 기능을 지원하는 기본 문서를 제공합니다. HTML을 PDF로 변환하고 기본 PDF 조작의 기능을 제공하는 동안, 문서는 IronPDF가 제공하는 깊이와 포괄성을 결여하고 있습니다. HiQPdf 문서의 주요 측면에는 다음이 포함됩니다:
- 기본 API 참조: HTML to PDF 및 기본 PDF 작업을 위한 메서드 나열.
- 코드 예제: HTML을 PDF로 변환 및 페이지 설정을 위한 제한된 샘플 코드.
- 최소한의 크로스 플랫폼 가이드: Windows 환경에 주로 집중하며 크로스 플랫폼 배포에 대한 지침은 적습니다.
- 이메일 지원: 주로 라이선싱 및 기본 기술 문의.
- 제한된 실시간 지원: 실시간 지원 옵션이 적습니다.
HiQPdf에 대한 더 많은 기술 세부 정보를 보려면 추가 리소스나 외부 포럼을 검색해야 합니다.
가격 및 라이선스: IronPDF vs. HiQPdf
IronPDF 가격 및 라이선스
IronPDF는 다양한 레벨과 추가 기능으로 라이선스를 구매할 수 있습니다. 개발자는 또한 Iron Suite를 구입할 수 있으며, Iron Software의 모든 제품을 두 가지 가격으로 이용할 수 있습니다. 라이선스를 구매할 준비가 되지 않았다면, IronPDF는 라이선스를 제공하기 전에 모든 기능을 탐색할 수 있는 무료 체험을 제공합니다.
가격 (2025년 기준):
- 영구 라이선스: 귀하의 팀 크기, 프로젝트 필요, 각 라이선스 유형에 나열된 위치 수에 따라 다양한 영구 라이선스를 제공합니다. 이메일 지원이 포함됩니다.
- Lite License: 이 라이선스는 $799비용이며, 한 명의 개발자, 한 장소, 한 프로젝트를 지원합니다.
- Plus License: 세 명의 개발자, 세 장소, 세 프로젝트를 지원하며, Lite License보다 한 단계 업그레이드된 이 라이선스는 $1,199 비용입니다. Plus 라이선스는 기본 이메일 지원 외에도 채팅 지원 및 전화 지원을 제공합니다.
- Professional License: 이 라이선스는 더 큰 팀에 적합하며, $2,399 비용으로 열 명의 개발자, 열 장소, 열 프로젝트를 지원합니다. 그것은 이전 등급과 동일한 연락 지원 채널을 제공하면서도 화면 공유 지원을 추가로 제공합니다.
- 로열티 없는 재배포: IronPDF의 라이선스는 추가 $2,399 비용으로 로열티 없는 재배포 커버리지를 제공합니다.
- 중단 없는 제품 지원: IronPDF는 지속적인 제품 업데이트, 보안 기능 업그레이드, 엔지니어링 팀의 지원 접근을 연간 $999 또는 5년간 $1,999의 한 번의 구매로 제공합니다.
- Iron Suite: $1,498 비용으로 IronPDF, IronOCR, IronWord, IronXL, IronBarcode, IronQR, IronZIP, IronPrint, IronWebScraper를 포함한 모든 Iron Software 제품에 접근할 수 있습니다.

HiQPdf 가격 및 라이선스
HiQPdf도 다양한 라이선스 옵션을 제공하지만, 가격은 약간 더 경직되는 경향이 있습니다:
- 스타트업 라이선스: 단일 개발자용으로 $245이며 단일 애플리케이션 포함
- 개발자 라이선스: $495이며 모든 수의 애플리케이션을 포함한 한 명의 개발자에 해당합니다.
- Team License: 다섯 명까지의 개발자가 모든 수의 애플리케이션을 작업할 수 있으며, $795입니다.
- Enterprise License: 모든 수의 애플리케이션과 개발자에 대한 $1,095.
HiQPdf는 경쟁력 있는 가격을 제공하지만, Iron Suite를 통한 IronPDF의 번들이 제공하는 같은 가치를 제공하지 않으며, 가격에 포함되는 고급 기능의 폭도 넓지 않습니다.
결론
IronPDF와 HiQPdf는 모두 .NET 개발자가 애플리케이션에 PDF 기능을 통합하기 위한 확실한 선택입니다. 그러나 IronPDF는 광범위한 기능 세트, 사용의 용이성 및 강력한 문서화로 인해 두드러집니다. 크로스 플랫폼 호환성, 풍부한 코드 예제, 우수한 지원을 갖춘 IronPDF는 다양한 환경에서 포괄적인 PDF 기능이 필요한 개발자를 위한 탁월한 솔루션입니다.
우수한 성능, 유연성, 지원을 제공하는 완전한 솔루션을 찾고 있다면 IronPDF가 매우 추천됩니다. 게다가 IronPDF는 암호화, 수정 및 디지털 서명과 같은 고급 기능을 쉽게 처리할 수 있는 능력으로 HiQPdf와 차별화됩니다.
{i:(HiQPdf는 해당 소유자의 등록 상표입니다. 이 사이트는 HiQPdf와 관련이 없으며, HiQPdf의 후원이나 승인이 없습니다. 모든 제품명, 로고 및 브랜드는 해당 소유자의 자산입니다. 비교는 정보 제공 목적으로만 사용되며, 작성 시점에 공개적으로 이용 가능한 정보를 반영합니다.
자주 묻는 질문
C#에서 HTML을 PDF로 변환하는 방법은 무엇인가요?
IronPDF의 RenderHtmlAsPdf 메서드를 사용하여 HTML 문자열을 PDF로 변환할 수 있습니다. 또한 RenderHtmlFileAsPdf 사용하여 HTML 파일을 PDF로 변환할 수도 있습니다.
IronPDF는 어떤 플랫폼을 지원합니까?
IronPDF는 Windows, Linux, macOS, Docker, Azure, AWS 및 .NET 8, 7, 6, .NET Core를 포함한 주요 .NET 버전과 호환됩니다.
C#에서 PDF에 디지털 서명을 적용할 수 있습니까?
예, IronPDF를 사용하면 API를 통해 PDF 문서에 디지털 서명을 적용할 수 있습니다. 인증서 및 서명 이유, 위치와 같은 메타데이터를 지정할 수 있습니다.
PDF 문서에 워터마크를 추가할 수 있는 방법은 무엇인가요?
IronPDF는 PDF에 사용자 정의 워터마크를 추가하기 위한 내장 지원을 포함합니다. IronPDF의 API를 사용하여 쉽게 PDF 문서에 워터마크를 통합할 수 있습니다.
IronPDF는 어떤 보안 기능을 제공하나요?
IronPDF는 암호화, 암호 보호, 권한 설정, 문서를 읽기 전용으로 만드는 기능을 포함한 고급 보안 기능을 제공합니다.
IronPDF는 DOCX에서 PDF로 변환을 지원합니까?
예, IronPDF는 DOCX에서 PDF로의 변환을 지원합니다. DocxToPdfRenderer 클래스를 사용하여 DOCX 문서를 PDF로 매끄럽게 변환할 수 있습니다.
IronPDF는 HTML에서 PDF로 변환을 어떻게 처리합니까?
IronPDF는 ChromePdfRenderer를 사용하여 HTML 콘텐츠를 PDF로 렌더링하며 HTML 문서, 문자열, URL 및 이미지와 같은 로컬 자산이 포함된 시나리오를 지원합니다.
IronPDF는 어떤 지원과 문서를 제공합니까?
IronPDF는 단계별 가이드, 광범위한 API 참조 및 코드 샘플을 포함한 포괄적인 문서를 제공합니다. 또한 라이브 채팅 및 이메일을 통한 24/5 기술 지원을 제공합니다.
IronPDF는 PDF 문서에서 콘텐츠를 절삭하는 데 사용할 수 있습니까?
예, IronPDF는 PDF 문서 전체에서 특정 텍스트를 절삭하는 간단한 접근 방법을 제공하여 개발자가 민감한 정보를 효율적으로 관리할 수 있게 합니다.
IronPDF에는 어떤 유형의 라이센스가 있나요?
IronPDF는 Lite, Plus, Professional을 포함한 다양한 라이센스를 제공하며 Iron Software 제품에 대한 액세스를 제공하는 Iron Suite를 제공합니다. 로열티 없는 재배포 옵션도 제공합니다.



