ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
.NETでPDFドキュメントを管理する際、開発者はそれぞれ独自の特徴や機能を持つさまざまなライブラリから選択することができます。 これらの中で、IronPDFそしてPDFsharpは、さまざまなニーズや好みに対応する際立った選択肢として際立っています。
この記事では、これらのライブラリが提供するさまざまな機能、それに伴うサポート、料金、ドキュメント、および互換性について詳しく見ていきます。
強力なPDFライブラリであるIronPDFは、開発者がPDFコンテンツを簡単に作成、編集、および抽出することを可能にします。 ユーザーはIronPDFを使用して、HTML、ASPX、MVC、画像などのさまざまな形式をPDFドキュメントに変換することができます。 IronPDFテキスト編集、画像操作、メタデータ変更、ウォーターマークの追加、PDFファイルの暗号化など、数多くの機能があります。 開発者がPDFドキュメントを扱いやすくするための使いやすいインターフェースと印象的な機能セットを備えていることが知られています。
PDFsharpは、PDFドキュメントの動的生成に焦点を当てた.NETベースのオープンソースライブラリです。 この製品は、テキスト、グラフィックス、画像の描画をサポートするC#で完全に実装されています。 また、既存のPDFファイルの結合や分割のような変更操作も可能です。 PDFsharpは、多くの追加機能を持つものではなく、単純なPDFファイルを操作するための基本的なライブラリを探している人に適しています。
IronPDFとPDFsharpはどちらも.NET環境内で動作します。PDFsharpはバージョン6.1から、.NET Framework 4.7.2以上、.NET Standard 2.0および.NET 6以上のバージョンをサポートしており、Windowsだけでなく、LinuxやmacOSなどの.NET互換プラットフォームでも動作します。
IronPDFプラットフォームの互換性を調べる.NETのさまざまなバージョンとの最新のプラットフォーム互換性をサポートし、開発者がWindows、Linux、Mac、Azure、Docker、AWSなどのアプリ環境で作業できるようにすることで、多くのオペレーティングシステムや開発環境との普遍的な互換性を確保する方法を学びます。
.NETバージョン:
*(C#、VB.NET、F#)
.NETコア(8, 7, 6, 5, および3.1+)
.NET バージョン:
IronPDFの機能を見る.NET、Java、Python、またはNode jsを含むプロジェクトに携わるソフトウェア開発者を対象としています; PDFページに透かしを入れたり、PDFファイルを暗号化したりすることができます。
一方、PDFsharpの焦点はPDF文書の作成と操作です; ページにテキストラインや段落を描画したり、四角形や円などのグラフィックをページに挿入することができます。
さまざまな職場や環境で、変換IronPDFでHTMLをPDFへ簡単ではあるが必要な作業です。 このプロセスにおけるIronPDFとPDFsharpの比較は、以下のコード例に示されています。
IronPDF:
using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: images, CSS and JavaScript.
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: images, CSS and JavaScript.
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Imports IronPdf
' Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True
' Instantiate Renderer
Dim renderer = New ChromePdfRenderer()
' Create a PDF from a HTML string using C#
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
' Export to a file or Stream
pdf.SaveAs("output.pdf")
' Advanced Example with HTML Assets
' Load external html assets: images, CSS and JavaScript.
Dim myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
PDFsharp:
PDFsharpだけでは、HTMLからPDFへの変換を処理できません。 代わりに、このタスクを実行するためにHtmlRenderer.PdfSharpライブラリが必要です。 このHTMLレンダラーは、静的レンダリングコードを使用してHTMLをPDFに変換できます。
using System.IO;
using PdfSharp.Pdf;
using TheArtOfDev.HtmlRenderer.PdfSharp;
static void Main(string[] args)
{
string html = @"<h1>Hello World</h1>";
PdfDocument pdf = PdfGenerator.GeneratePdf(html, PageSize.A4);
const string filename = "HtmlToPdfExample.pdf";
pdf.Save(filename);
}
using System.IO;
using PdfSharp.Pdf;
using TheArtOfDev.HtmlRenderer.PdfSharp;
static void Main(string[] args)
{
string html = @"<h1>Hello World</h1>";
PdfDocument pdf = PdfGenerator.GeneratePdf(html, PageSize.A4);
const string filename = "HtmlToPdfExample.pdf";
pdf.Save(filename);
}
Imports System.IO
Imports PdfSharp.Pdf
Imports TheArtOfDev.HtmlRenderer.PdfSharp
Shared Sub Main(ByVal args() As String)
Dim html As String = "<h1>Hello World</h1>"
Dim pdf As PdfDocument = PdfGenerator.GeneratePdf(html, PageSize.A4)
Const filename As String = "HtmlToPdfExample.pdf"
pdf.Save(filename)
End Sub
IronPDFは、HTMLコード、HTMLスニペット、またはHTMLテンプレートをPDF形式に変換する便利で簡単な方法を提供し、ユーザーに多くの制御を許可します。 IronPDFはモダンなウェブ標準に完全対応しており、元のウェブページに忠実なPDFファイルを作成することができます。
一方、PDFsharpは現在、HTMLからPDFへの変換をサポートしておらず、HTMLファイルを解析する機能もありません。 代わりに、HtmlRenderer.PdfSharpライブラリをPDFsharpと一緒に使用して、このタスクを完了することができます。
時々、ユーザーはIronPDFでPDFファイルのテキストを再編集する特に、個人情報や機密情報を扱う場合はなおさらです。
IronPDF:
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
// Redact the 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
// Redact the 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("novel.pdf")
' Redact the 'are' phrase from all pages
pdf.RedactTextOnAllPages("are")
pdf.SaveAs("redacted.pdf")
PDFsharp:
PDFsharpは、現在PDFコンテンツの編集に関する組み込み機能を提供していません。 ただし、機密情報を永久に削除または隠すことが伴うため、PDFsharpのグラフィックス描画ツールを使用して、編集したい内容を手動で描画することによって、同様の結果を達成することができます。 以下はその実現方法の一例です:
using System;
using PdfSharp.Pdf;
using PdfSharp.Drawing;
namespace PdfRedactionExample
{
class Program
{
static void Main(string[] args)
{
// Load an existing PDF document
PdfDocument document = PdfReader.Open("input.pdf", PdfDocumentOpenMode.Modify);
// Get the first page of the document
PdfPage page = document.Pages[0];
// Create a graphics object to write on the page
XGraphics gfx = XGraphics.FromPdfPage(page);
// Define the area to redact (for example, a rectangle covering text)
XRect redactRect = new XRect(100, 100, 200, 50); // Adjust coordinates and size as needed
// Fill the redaction area with a black rectangle
gfx.DrawRectangle(XBrushes.Black, redactRect);
// Save the modified document
document.Save("output.pdf");
// Optionally, close the document
document.Close();
}
}
}
using System;
using PdfSharp.Pdf;
using PdfSharp.Drawing;
namespace PdfRedactionExample
{
class Program
{
static void Main(string[] args)
{
// Load an existing PDF document
PdfDocument document = PdfReader.Open("input.pdf", PdfDocumentOpenMode.Modify);
// Get the first page of the document
PdfPage page = document.Pages[0];
// Create a graphics object to write on the page
XGraphics gfx = XGraphics.FromPdfPage(page);
// Define the area to redact (for example, a rectangle covering text)
XRect redactRect = new XRect(100, 100, 200, 50); // Adjust coordinates and size as needed
// Fill the redaction area with a black rectangle
gfx.DrawRectangle(XBrushes.Black, redactRect);
// Save the modified document
document.Save("output.pdf");
// Optionally, close the document
document.Close();
}
}
}
Imports System
Imports PdfSharp.Pdf
Imports PdfSharp.Drawing
Namespace PdfRedactionExample
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Load an existing PDF document
Dim document As PdfDocument = PdfReader.Open("input.pdf", PdfDocumentOpenMode.Modify)
' Get the first page of the document
Dim page As PdfPage = document.Pages(0)
' Create a graphics object to write on the page
Dim gfx As XGraphics = XGraphics.FromPdfPage(page)
' Define the area to redact (for example, a rectangle covering text)
Dim redactRect As New XRect(100, 100, 200, 50) ' Adjust coordinates and size as needed
' Fill the redaction area with a black rectangle
gfx.DrawRectangle(XBrushes.Black, redactRect)
' Save the modified document
document.Save("output.pdf")
' Optionally, close the document
document.Close()
End Sub
End Class
End Namespace
PDFファイルのコンテンツを編集する場合、IronPDFはPDFドキュメントから直接テキストを編集するためのわかりやすい方法を提供します。 ユーザーはすべてのページで編集するテキストを簡単に指定することができ、直感的で簡潔なAPIにより、迅速かつ効率的に作業を行うことができます。
一方、PDFsharpには現在、組み込みの編集機能がありません。 ただし、ユーザーはグラフィックス描画機能を利用して手動でコンテンツにオーバーレイを追加することで修正することができますが、このアプローチはより手動の介入とカスタマイズを必要とします。
必要がある場合IronPDFでPDFドキュメントにデジタル署名するしかし、翻訳には非常に時間がかかります。 プログラムでそれを行うことによって、その時間の一部を節約する方法があります。 以下のコード例では、IronPDF と PDFsharp の間でドキュメント署名の動作方法を比較します。
IronPDF:
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
// Create PdfSignature object
var sig = new PdfSignature(cert);
// Sign PDF document
PdfDocument pdf = PdfDocument.FromFile("document.pdf");
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
// Create PdfSignature object
var sig = new PdfSignature(cert);
// Sign PDF document
PdfDocument pdf = PdfDocument.FromFile("document.pdf");
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
Imports IronPdf
Imports IronPdf.Signing
Imports System.Security.Cryptography.X509Certificates
' Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
Private cert As New X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable)
' Create PdfSignature object
Private sig = New PdfSignature(cert)
' Sign PDF document
Private pdf As PdfDocument = PdfDocument.FromFile("document.pdf")
pdf.Sign(sig)
pdf.SaveAs("signed.pdf")
PDFsharp:
PDFsharpはPDFファイルにデジタル署名するためのサポートを内蔵しておらず、このタスクを完了するためにiTextSharpなどの外部ライブラリに依存しています。
PDF文書にデジタル署名をプログラムで付けることは、ワークフローを大幅に簡素化できます。 IronPDFにはデジタル署名のサポートが組み込まれており、数行のコードでタスクを完了することができるため、プロセスは簡単でシンプルです。 しかし、PDFsharpには電子署名機能が内蔵されていないため、iTextSharpのようなサードパーティのライブラリが必要になり、実装がさらに複雑になります。
プライベートな文書、著作権保護、ブランディング、またはその他の機密記録を伴うタスクを扱う場合; 適用してパーソナライズする能力IronPDFで透かしを入れるPDFファイルで非常に便利です。 この記事では、PDFドキュメントに透かしを追加する際のIronPDFとPDFsharpの比較を行います。
IronPDF:
using IronPdf;
// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
using IronPdf;
// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
Imports IronPdf
' Stamps a Watermark onto a new or existing PDF
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)
pdf.SaveAs("C:\Path\To\Watermarked.pdf")
PDFsharp:
using PdfSharp.Pdf;
using PdfSharp.Drawing;
PdfDocument document = PdfReader.Open("Input.pdf", PdfDocumentOpenMode.Modify);
XGraphics gfx = XGraphics.FromPdfPage(document.Pages[0]);
XFont font = new XFont("Verdana", 40, XFontStyle.BoldItalic);
XBrush brush = new XSolidBrush(XColor.FromArgb(128, 255, 0, 0));
string watermarkText = "SAMPLE";
XSize textSize = gfx.MeasureString(watermarkText, font);
XPoint center = new XPoint((document.Pages[0].Width - textSize.Width) / 2, (document.Pages[0].Height - textSize.Height) / 2);
gfx.DrawString(watermarkText, font, brush, center, XStringFormats.Center);
// Save the document
document.Save("Watermarked.pdf");
using PdfSharp.Pdf;
using PdfSharp.Drawing;
PdfDocument document = PdfReader.Open("Input.pdf", PdfDocumentOpenMode.Modify);
XGraphics gfx = XGraphics.FromPdfPage(document.Pages[0]);
XFont font = new XFont("Verdana", 40, XFontStyle.BoldItalic);
XBrush brush = new XSolidBrush(XColor.FromArgb(128, 255, 0, 0));
string watermarkText = "SAMPLE";
XSize textSize = gfx.MeasureString(watermarkText, font);
XPoint center = new XPoint((document.Pages[0].Width - textSize.Width) / 2, (document.Pages[0].Height - textSize.Height) / 2);
gfx.DrawString(watermarkText, font, brush, center, XStringFormats.Center);
// Save the document
document.Save("Watermarked.pdf");
Imports PdfSharp.Pdf
Imports PdfSharp.Drawing
Private document As PdfDocument = PdfReader.Open("Input.pdf", PdfDocumentOpenMode.Modify)
Private gfx As XGraphics = XGraphics.FromPdfPage(document.Pages(0))
Private font As New XFont("Verdana", 40, XFontStyle.BoldItalic)
Private brush As XBrush = New XSolidBrush(XColor.FromArgb(128, 255, 0, 0))
Private watermarkText As String = "SAMPLE"
Private textSize As XSize = gfx.MeasureString(watermarkText, font)
Private center As New XPoint((document.Pages(0).Width - textSize.Width) \ 2, (document.Pages(0).Height - textSize.Height) \ 2)
gfx.DrawString(watermarkText, font, brush, center, XStringFormats.Center)
' Save the document
document.Save("Watermarked.pdf")
PDF ドキュメントに透かしを追加することは、プライバシー保護、著作権保護、およびブランディングに関わるタスクにおいて重要です。 IronPDFは、HTML/CSSを使用してカスタムウォーターマークを効率的に適用できるシンプルなAPIを提供し、柔軟性と実装の容易さを提供しつつ、ユーザーにプロセスの多くの制御を可能にします。 一方、PDFsharpはPDFページにウォーターマークを重ねるために、グラフィックやテキスト描画メソッドを利用して手動での処理が必要です。
異なるファイルタイプをPDFに変換することは、PDFファイルの作成において重要です。 この場合、私たちは~に集中しますIronPDFによるDOCXからPDFへの変換そして、IronPDFとPDFsharpがこのタスクを達成する方法を比較します。
IronPDF:
using IronPdf;
// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
using IronPdf;
// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
Imports IronPdf
' Instantiate Renderer
Private renderer As New DocxToPdfRenderer()
' Render from DOCX file
Private pdf As PdfDocument = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx")
' Save the PDF
pdf.SaveAs("pdfFromDocx.pdf")
PDFsharp:
PDFsharpは現在、DOCXをPDFファイル形式に直接変換することをサポートしていません。 代わりに、ユーザーがこのタスクを実行したい場合、DocXなどの外部ライブラリを使用する必要があります。
DOCXからPDFへの変換に関して、IronPDFはこの作業に対してシンプルで簡潔なアプローチを提供し、DocxToPdfRendererを通じてDOCXからPDFへの変換を直接サポートします。 これにより、生成されたPDFのシームレスなレンダリングと保存が可能になります。
PDFsharpはネイティブでDOCXからPDFへの変換をサポートしていません。 ユーザーはこの機能を実現するために、DocXのような外部ライブラリに依存する必要があります。
場合によっては、透かしを適用する際などに、PDFページをIronPDFを使用してテキストと画像をスタンプします。. このセクションでは、IronPDFのスタンピング機能とPDFsharpをPDF文書で比較します。
IronPDF:
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
Imports IronPdf
Imports IronPdf.Editing
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create text stamper
Private textStamper As New TextStamper() With {
.Text = "Text Stamper!",
.FontFamily = "Bungee Spice",
.UseGoogleFont = True,
.FontSize = 30,
.IsBold = True,
.IsItalic = True,
.VerticalAlignment = VerticalAlignment.Top
}
' Stamp the text stamper
pdf.ApplyStamp(textStamper)
pdf.SaveAs("stampText.pdf")
' Create image stamper
Dim imageStamper As New ImageStamper(New Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg")) With {.VerticalAlignment = VerticalAlignment.Top}
' Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0)
pdf.SaveAs("stampImage.pdf")
PDFsharp:
using PdfSharp.Drawing;
using PdfSharp.Pdf;
using System.Drawing;
// Load an existing PDF document
PdfDocument document = PdfReader.Open("Input.pdf", PdfDocumentOpenMode.Modify);
// Iterate through each page in the document
foreach (PdfPage page in document.Pages)
{
// Get an XGraphics object for drawing on the page
XGraphics gfx = XGraphics.FromPdfPage(page);
// Define a font and brush for stamping text
XFont font = new XFont("Arial", 12);
XBrush brush = XBrushes.Red;
// Stamp text onto the page
gfx.DrawString("Confidential", font, brush, 50, 50);
// Stamp an image onto the page
XImage image = XImage.FromFile("stamp.png"); // Replace with your image path
gfx.DrawImage(image, 100, 100, image.PixelWidth / 2, image.PixelHeight / 2);
}
document.Save("StampedOutput.pdf");
using PdfSharp.Drawing;
using PdfSharp.Pdf;
using System.Drawing;
// Load an existing PDF document
PdfDocument document = PdfReader.Open("Input.pdf", PdfDocumentOpenMode.Modify);
// Iterate through each page in the document
foreach (PdfPage page in document.Pages)
{
// Get an XGraphics object for drawing on the page
XGraphics gfx = XGraphics.FromPdfPage(page);
// Define a font and brush for stamping text
XFont font = new XFont("Arial", 12);
XBrush brush = XBrushes.Red;
// Stamp text onto the page
gfx.DrawString("Confidential", font, brush, 50, 50);
// Stamp an image onto the page
XImage image = XImage.FromFile("stamp.png"); // Replace with your image path
gfx.DrawImage(image, 100, 100, image.PixelWidth / 2, image.PixelHeight / 2);
}
document.Save("StampedOutput.pdf");
Imports PdfSharp.Drawing
Imports PdfSharp.Pdf
Imports System.Drawing
' Load an existing PDF document
Private document As PdfDocument = PdfReader.Open("Input.pdf", PdfDocumentOpenMode.Modify)
' Iterate through each page in the document
For Each page As PdfPage In document.Pages
' Get an XGraphics object for drawing on the page
Dim gfx As XGraphics = XGraphics.FromPdfPage(page)
' Define a font and brush for stamping text
Dim font As New XFont("Arial", 12)
Dim brush As XBrush = XBrushes.Red
' Stamp text onto the page
gfx.DrawString("Confidential", font, brush, 50, 50)
' Stamp an image onto the page
Dim image As XImage = XImage.FromFile("stamp.png") ' Replace with your image path
'INSTANT VB WARNING: Instant VB cannot determine whether both operands of this division are integer types - if they are then you should use the VB integer division operator:
gfx.DrawImage(image, 100, 100, image.PixelWidth / 2, image.PixelHeight / 2)
Next page
document.Save("StampedOutput.pdf")
IronPDFは、ユーザーがテキストや画像をPDFドキュメントに簡単に追加できるようにし、プロセスをわかりやすくシンプルに保ちます。 ユーザーにプロセスのすべての側面を完全に制御する力を与え、特にHTML/CSSに慣れている人にとっては非常に有利です。
一方で、PDFsharpはXGraphicsオブジェクトを使用した手動処理が必要で、テキストや画像を特定の座標やグラフィカルパラメータを使って各ページに直接スタンプします。
オフィス、学校、図書館のいずれの場所でも、IronPDFによるPDFドキュメントの暗号化と復号化.NET、Java、Python、またはNode.jを使用するプロジェクトに携わるソフトウェア開発者。 したがって、この機能を問題なく実行できるプログラムがあることは、非常に重要です。 このセクションでは、IronPDFとPDFsharpがPDF暗号化タスクをどのように処理するかを比較します。
IronPDF:
using IronPdf;
using System;
// Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
// Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
// Edit file security settings
// The following code makes a PDF read only and will disallow copy & paste and printing
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;
// change or set the document encryption password
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
using IronPdf;
using System;
// Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
// Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
// Edit file security settings
// The following code makes a PDF read only and will disallow copy & paste and printing
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;
// change or set the document encryption password
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
Imports IronPdf
Imports System
' Open an Encrypted File, alternatively create a new PDF from Html
Private pdf = PdfDocument.FromFile("encrypted.pdf", "password")
' Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto"
pdf.MetaData.Keywords = "SEO, Friendly"
pdf.MetaData.ModifiedDate = DateTime.Now
' Edit file security settings
' The following code makes a PDF read only and will disallow copy & paste and printing
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
' change or set the document encryption password
pdf.Password = "my-password"
pdf.SaveAs("secured.pdf")
PDFsharp:
PDFsharp単独では、PDF暗号化のサポートが組み込まれていません。 しかし、ユーザーはこのタスクを実行するために PdfSharp.Pdf.IOライブラリをインストールすることができます。
using PdfSharp.Pdf;
using PdfSharp.Pdf.IO;
using PdfSharp.Pdf.Security;
PdfDocument document = PdfReader.Open("Input.pdf", PdfDocumentOpenMode.Modify);
string userPassword = "userpassword";
string ownerPassword = "ownerpassword";
PdfSecuritySettings securitySettings = document.SecuritySettings;
securitySettings.DocumentSecurityLevel = PdfDocumentSecurityLevel.Encrypted128Bit;
securitySettings.UserPassword = userPassword;
securitySettings.OwnerPassword = ownerPassword;
securitySettings.PermitAccessibilityExtractContent = false;
securitySettings.PermitAnnotationsAndFieldsEdit = false;
securitySettings.PermitAssembleDocument = false;
securitySettings.PermitExtractContent = false;
securitySettings.PermitFormsFill = true;
securitySettings.PermitFullQualityPrint = true;
securitySettings.PermitModifyDocument = true;
securitySettings.PermitPrint = true;
document.Save("EncryptedOutput.pdf");
using PdfSharp.Pdf;
using PdfSharp.Pdf.IO;
using PdfSharp.Pdf.Security;
PdfDocument document = PdfReader.Open("Input.pdf", PdfDocumentOpenMode.Modify);
string userPassword = "userpassword";
string ownerPassword = "ownerpassword";
PdfSecuritySettings securitySettings = document.SecuritySettings;
securitySettings.DocumentSecurityLevel = PdfDocumentSecurityLevel.Encrypted128Bit;
securitySettings.UserPassword = userPassword;
securitySettings.OwnerPassword = ownerPassword;
securitySettings.PermitAccessibilityExtractContent = false;
securitySettings.PermitAnnotationsAndFieldsEdit = false;
securitySettings.PermitAssembleDocument = false;
securitySettings.PermitExtractContent = false;
securitySettings.PermitFormsFill = true;
securitySettings.PermitFullQualityPrint = true;
securitySettings.PermitModifyDocument = true;
securitySettings.PermitPrint = true;
document.Save("EncryptedOutput.pdf");
Imports PdfSharp.Pdf
Imports PdfSharp.Pdf.IO
Imports PdfSharp.Pdf.Security
Private document As PdfDocument = PdfReader.Open("Input.pdf", PdfDocumentOpenMode.Modify)
Private userPassword As String = "userpassword"
Private ownerPassword As String = "ownerpassword"
Private securitySettings As PdfSecuritySettings = document.SecuritySettings
securitySettings.DocumentSecurityLevel = PdfDocumentSecurityLevel.Encrypted128Bit
securitySettings.UserPassword = userPassword
securitySettings.OwnerPassword = ownerPassword
securitySettings.PermitAccessibilityExtractContent = False
securitySettings.PermitAnnotationsAndFieldsEdit = False
securitySettings.PermitAssembleDocument = False
securitySettings.PermitExtractContent = False
securitySettings.PermitFormsFill = True
securitySettings.PermitFullQualityPrint = True
securitySettings.PermitModifyDocument = True
securitySettings.PermitPrint = True
document.Save("EncryptedOutput.pdf")
IronPDFは、強力な暗号化機能を備えた堅牢なツールで、PDFを簡単に暗号化し、読み取り専用アクセス、コピー貼り付け制限、印刷許可などのセキュリティ設定を管理できます。 暗号化されたファイルにパスワード保護を追加し、メタデータをカスタマイズすることもできます。 要するに、IronPDFは安全なPDF管理のための包括的なソリューションです。
PDFsharpは暗号化のネイティブサポートを持っていませんが、PdfSharp.Pdf.IOのようなサードパーティライブラリを使用してこの機能を実行することができます。 異なるレベルの暗号化を設定し、ユーザーまたはオーナーパスワードを作成して、印刷権限やコンテンツ抽出などの文書操作に関する権限を定義することができます。
詳細はこちらIronPDFのライセンスと価格オプションライセンス購入には、さまざまなレベルや追加機能が含まれます。 開発者は、また、購入することができますIron Suiteこれは、Iron Softwareのすべての製品に2つの価格でアクセスできるものです。 ライセンスを購入する準備ができていない場合、IronPDF は無料試用30日間持続する。
IronSuite:1,498ドルで、IronPDF、IronOCR、IronWord、IronXL、IronBarcode、IronQR、IronZIP、IronPrint、およびIronWebScraperを含むすべてのIron Software製品にアクセスできます。
PDFsharpはオープンソースのライブラリで、無料で使用できます。 しかし、これはIronPDFなどの競合他社が提供する高度で有能な機能に比べて、機能が少ないという代償を伴います。
IronPDFは、開発者が簡単に統合して機能を利用できるように、広範なドキュメントとサポートオプションを提供しています。
サポート: 商業サポートオプションはありませんが、問題を報告するためのリポジトリがあります
IronPDF のドキュメントとサポートの詳細については、訪問してくださいIronPDF 公式ドキュメントおよびIron Software YouTubeチャンネル.
結論として、.NET環境でPDFドキュメント管理のためにIronPDFとPDFsharpのどちらを選ぶかについては、開発者は自身の特定のニーズとプロジェクト要件を考慮すべきです。 IronPDFは、HTMLからPDFへの変換、暗号化機能、およびさまざまな.NETプラットフォームと開発環境に対する強力なサポートを含む豊富な機能セットで優れています。 それは、包括的なドキュメント、複数のサポートチャネル、柔軟なライセンスオプションを提供しており、コストはかかりますが、NuGet パッケージ マネージャーを使用してプロジェクトに簡単にインストールできます。
一方で、オープンソースライブラリであるPDFsharpは無料で使用できますが、HTMLをPDFに変換するネイティブサポートやPDF暗号化といった高度な機能が不足しています。 追加のライブラリが必要になる場合があり、商業サポートオプションがないため、基本的なPDF操作タスクに主に適しています。
試すことができます 0日間無料試用 利用可能な機能を確認するために。
9つの .NET API製品 オフィス文書用