ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
IronPDF および iText 7 (以前はiTextSharpとして知られていました) 両方とも、生成、操作、および PDFを印刷する .NETおよび.NET Coreで。
そのための最もOptimalな選択は、Iron套件で提供される多くの製品を見て、どれがあなたの特定のニーズに最適かを理解することです。たとえば、あなたがPDFを生成したり操作したりする必要がある場合、IronPDF for .NETが適しています。OCR(光学文字認識)のタスクに取り組んでいる場合は、IronOCR for .NETが役立ちます。同様に、Excelファイルの作成と操作に関しては、IronXL for .NETがあなたのためです。
あなたの開発環境やプログラミング言語に合わせて、最適なツールを選びましょう。IronPDF for Java、IronPDF for Python、またはIronPDF for Node.jsのように、特定の言語用のバージョンも提供されています。
さらに、ライセンスの種類についても考慮することをお勧めします。Lite License、Plus License、Professional License、Unlimited Licenseのいずれか、あなたのニーズに最も合ったものを選択してください。また、Iron Suiteを導入することで、複数の製品を一括で利用することも可能です。
もしわからないことがあれば、Iron Softwareの公式ウェブサイトにアクセスするか、サポートチームに問い合わせてみてください。彼らはあなたが最適なソリューションを見つけるお手伝いをします。 C# PDFライブラリ .NETプロジェクトに最適なのはどれですか? この記事の目的は、読者が適切で情報に基づいた決定を下せるように支援することです。
HtmlConverter.ConvertToPDF(HTMLコンバーター・コンバート・トゥ・PDF)
HTMLファイルをPDFファイルに変換する方法IronPDFとは:
実務に取り組むプログラマーにとって最適な選択肢です。
iText (アイテックス) (iTextSharp) です:
PDFの内部構造に基づいてプログラムAPIを使用してPDFをレンダリングすることに焦点を当てています。
iTextSharp 少なくとも6年間存在しており、iTextというオープンソースのJavaコードベースに基づいており、今でもある程度のJava風味があります。 Javaから学習を始めた開発者にとって、このライブラリは馴染み深いでしょう。
IronPDFは、Visual Studioでの使用のしやすさを考慮して設計されたAPIを持つ .NETファーストライブラリです。 .NETは、ほぼ20年間にわたり存在し続け、成長と拡大を続け、多くの可能性を開いてきました。そして、IronPDFはその可能性を活用するために設計されています。 それは、.NETフレームワークプロジェクトでPDFドキュメントを作成および操作することを可能にします。 IronPDFを以下の形式でダウンロードできます: iTextSharp の代替ソフト.
iTextとIronPDFのレンダリングAPIはかなり異なります。 各コードセグメントを比較して、PDFドキュメントにヘッダーとフッターを追加しましょう。
Renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
CenterText = "{pdf-title}",
DrawDividerLine = true,
FontSize = 16
};
Renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
LeftText = "{date} {time}",
RightText = "Page {page} of {total-pages}",
DrawDividerLine = true,
FontSize = 14
};
Renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
CenterText = "{pdf-title}",
DrawDividerLine = true,
FontSize = 16
};
Renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
LeftText = "{date} {time}",
RightText = "Page {page} of {total-pages}",
DrawDividerLine = true,
FontSize = 14
};
Renderer.RenderingOptions.TextHeader = New TextHeaderFooter() With {
.CenterText = "{pdf-title}",
.DrawDividerLine = True,
.FontSize = 16
}
Renderer.RenderingOptions.TextHeader = New TextHeaderFooter() With {
.LeftText = "{date} {time}",
.RightText = "Page {page} of {total-pages}",
.DrawDividerLine = True,
.FontSize = 14
}
Paragraph header = new Paragraph("HEADER")
.SetTextAlignment(TextAlignment.CENTER)
.SetFontSize(16);
document.Add(header);
for (int i = 1; i <= pdf.GetNumberOfPages(); i++)
{
Rectangle pageSize = pdf.GetPage(i).GetPageSize();
float x = pageSize.GetWidth() / 2;
float y = pageSize.GetTop() - 20;
document.ShowTextAligned(header, x, y, i, TextAlignment.LEFT, VerticalAlignment.BOTTOM, 0);
}
document.SetTopMargin(50);
document.SetBottomMargin(50);
Paragraph header = new Paragraph("HEADER")
.SetTextAlignment(TextAlignment.CENTER)
.SetFontSize(16);
document.Add(header);
for (int i = 1; i <= pdf.GetNumberOfPages(); i++)
{
Rectangle pageSize = pdf.GetPage(i).GetPageSize();
float x = pageSize.GetWidth() / 2;
float y = pageSize.GetTop() - 20;
document.ShowTextAligned(header, x, y, i, TextAlignment.LEFT, VerticalAlignment.BOTTOM, 0);
}
document.SetTopMargin(50);
document.SetBottomMargin(50);
Dim header As Paragraph = (New Paragraph("HEADER")).SetTextAlignment(TextAlignment.CENTER).SetFontSize(16)
document.Add(header)
Dim i As Integer = 1
Do While i <= pdf.GetNumberOfPages()
Dim pageSize As Rectangle = pdf.GetPage(i).GetPageSize()
'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:
Dim x As Single = pageSize.GetWidth() / 2
Dim y As Single = pageSize.GetTop() - 20
document.ShowTextAligned(header, x, y, i, TextAlignment.LEFT, VerticalAlignment.BOTTOM, 0)
i += 1
Loop
document.SetTopMargin(50)
document.SetBottomMargin(50)
コードを素早くチェックするだけで、IronPDFが一般的なエンドユーザーの要件に基づき、実用的であることがわかります。
iTextは、ページにオブジェクト、形状、テキストを追加する描画APIに焦点を当てた低レベルのライブラリです。
iTextSharp.dllは、主にプログラムモデルを使用してPDFをレンダリングします。 iTextSharp PDFライブラリを使用する場合、各PDFテキスト、グラフィック、表、または線はPDF上に「プロット」または描画されます。 APIは低レベルで、PDFドキュメント標準に焦点を当てているようです。 このモデルは精度を提供しますが、開発者がPDFの仕組みについて少し学ぶ必要があるかもしれません。 既存のデザインスタイルやウェブアセットに正確に一致させるには、いくつかの反復とドキュメントの読み込みが必要な場合があります。 iTextSharp ドキュメント. その遺産を受け継いで、方法論とプログラムインターフェースには独特のJavaの風味があります。
対照的に、IronPDFは完全に組み込まれたWebブラウザレンダラーを使用して HTMLをPDFに変換する. 短文に従う (1行および2行) C#コードの例開発者は既存または新しいHTML、画像、CSSからPDFを生成できます。 これにより、開発者は既存のウェブ資産と密接に連携し、プロジェクト中にデザイナーと並行して作業することができます。 iTextはC# .NET向けのHTML to PDF機能を含んでいますが、明らかにそのライブラリの主要な機能ではないようです。
以下に、IronPDF と iTextSharp が開発者の目標達成を支援する方法についての詳細な比較を示します。
ライセンスのオプションも開発者のプロジェクトにとって重要な要素です。 iTextSharpはAGPLライセンスの下でオープンソースです。 AGLPの下でライセンスを取得した場合、iTextSharpを含むアプリケーションの一部を使用するすべての人が (会社のネットワークやインターネットを介してでも) アプリの完全なソースコードの全コピーを受け取る権利があるかもしれません。 これは学術作業に最適です。 商業アプリケーションでiTextSharpを使用したい場合は、iTextに連絡するのが最善の方法です。 iTextの商業利用の価格について見積もりを依頼してください。.
IronPDFは 開発用に無料そしてその後に 商用展開のためにライセンスされている 公開された合理的な価格で、$749から開始します。
こちらは2つのライブラリの比較です:
内蔵ウェブブラウザを使用してHTMLをPDFに変換 | PDFHTMLアドオンによる基本的なHTMLからPDFへの変換 |
レンダリングのフォーカス:埋め込みWebブラウザー | レンダリングフォーカス: プログラムによる描画モデル |
IronPDFには公表された価格の明確なライセンスがあります。 | AGPL!商用利用の価格は公開されていません。 |
簡単にコード化できる .NET ファーストデザイン | Java APIに基づく |
学術課題やコースワークには適していません。 | 学術課題および研究に最適です。 |
IronPDFは、.NETおよび.NET Core開発者が、C#、F#、およびVB.NETを使用して、.NET Coreおよび.NETフレームワーク向けにPDFコンテンツを生成、結合、分割、編集、および抽出するのを容易にします。 PDFを作成 HTML、ASPX、CSS、JS、および画像ファイルから。
それは、HTMLをPDFに変換するために完全に組み込まれたウェブブラウザを利用します。 これは開発者がHTML、画像、CSSからPDFを生成し、既存のWebアセットと密接に連携しながら、プロジェクト中にデザイナーと並行して作業することを可能にします。
IronPDFは、開発者の生産性に本当に重点を置いています。 このライブラリは、テキストや画像の抽出、PDFへの署名、新しいHTMLによるPDFの編集など、多くの一般的で複雑なPDFコードのタスクを便利なC#メソッドに簡素化し、開発者が最良の結果を得るためにPDFドキュメント標準を学ぶ必要をなくします。
について iTextSharp.dll は主にプログラム的なモデルを使用してPDFをレンダリングし、PDF標準に忠実で強力な高機能PDF操作APIを備えています。
PDF 操作における堅固な機能
Javaライブラリに基づいて
両方のライブラリを使用して例のプロジェクトを作成することで比較してみましょう。
次の手順を使用してASP.NETウェブサイトを作成します:
Visual Studio を開く
ファイル > 新しいプロジェクトをクリック
プロジェクト タイプのリストボックスで、Visual C# の下にある Web を選択します。
「OK」をクリック
これで作業に取り掛かることができます。 IronPDFをインストールしましょう。
IronPDFを利用するには、まずインストールする必要があります。 (無料). 以下の2つのオプションがあります:
ライブラリをダウンロード
詳しく見てみましょう。
Install-Package IronPdf
Install-Package IronPdf
今日からプロジェクトでIronPDFを使い始めましょう。無料のトライアルをお試しください。
チェックアウト IronPDF オン Nuget 迅速なインストールと展開のために。8百万以上のダウンロード数により、PDFをC#で変革しています。
Install-Package IronPdf
インストールを検討してください IronPDF DLL 直接。ダウンロードして、プロジェクトまたはGACの形式で手動でインストールしてください。 IronPdf.zip
プロジェクトに手動でインストールする
DLLをダウンロードIronPDF NuGetパッケージをインストールするには、3つの方法があります:
ビジュアルスタジオ
開発者コマンドプロンプト
NuGetパッケージを直接ダウンロード
一つずつやりましょう。
Visual Studioは、Microsoftによって開発された統合開発環境(IDE)です。IronPDF for .NET、IronOCR for .NET、IronXL for .NET、IronBarcode for .NET、IronQR for .NET、IronZIP for .NET、IronWord for .NET、IronPrint for .NET、IronWebScraper for .NETを含むIron Softwareの製品を使用する開発者にとって理想的なツールです。Visual Studioは、デザイン、コードの記述、デバッグ、ビルド、デプロイなどのソフトウェア開発プロセスの全てのフェーズをサポートします。
Visual Studioは、プロジェクトにNuGetパッケージをインストールするためのNuGetパッケージマネージャーを提供します。 プロジェクトメニューからアクセスするか、ソリューションエクスプローラーでプロジェクトを右クリックしてください。 以下の図3および図4にこれらのオプションを示します。
オプションのいずれかから「Manage NuGet Packages(NuGetパッケージの管理)」をクリックした後、「IronPDF」パッケージを参照し、図5に示すようにインストールします。
開発者向けコマンドプロンプト
次の手順では、開発者コマンドプロンプトを開き、IronPDF NuGet パッケージをインストールします。
デベロッパー コマンド プロンプトを検索してください - 通常はVisual Studioフォルダの下にあります
以下のコマンドを入力してください:PM > Install-Package IronPdf
Enterキーを押してください
パッケージがインストールされます。
NuGetパッケージをダウンロードするために:
以下に移動します。 https://www.nuget.org/packages/IronPdf/
パッケージをダウンロードするをクリックしてください
パッケージがダウンロードされた後、ダブルクリックしてください。
IronPDFをインストールする第2の方法は 直接ダウンロード.
次の手順を使用して、プロジェクト内でライブラリを参照してください:
ソリューションエクスプローラーでソリューションを右クリックします
参照を選択
IronPDF.dllライブラリを参照
「OK」をクリック
セットアップが完了したので、iTextSharpのセットアップ後に、IronPDFライブラリの素晴らしい機能を試してみましょう。
3つの方法があります iTextSharp NuGetをインストールする パッケージには次のものが含まれます:
NuGetパッケージを直接ダウンロード
一つずつやりましょう。
Visual Studioでは、iTextを検索して次に示す関連パッケージをインストールしてください。
開発者コマンドプロンプトで (前述のように、以下のコマンドを入力してください。)
PM > Install-Package itext7
または、ダウンロード iText 7 直接彼らのウェブサイトから。
必要なプロジェクトを作成したので、これら二つのライブラリをコードで比較してみましょう。
以下のコードはウェブページをダウンロードし、PDFドキュメントに変換します。
次のコードは、IronPDFを使用してウェブサイトのアドレスから直接PDFドキュメントを作成しています。 カスタムヘッダーとフッターも含まれています。
/**
IronPDF URL to PDF
anchor-ironpdf-website-to-pdf
**/
private void ExistingWebURL()
{
// Create a PDF from any existing web page
var Renderer = new IronPdf.ChromePdfRenderer();
// Create a PDF from an existing HTML
Renderer.RenderingOptions.MarginTop = 50; //millimetres
Renderer.RenderingOptions.MarginBottom = 50;
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
Renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
CenterText = "{pdf-title}",
DrawDividerLine = true,
FontSize = 16
};
Renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
{
LeftText = "{date} {time}",
RightText = "Page {page} of {total-pages}",
DrawDividerLine = true,
FontSize = 14
};
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
Renderer.RenderingOptions.EnableJavaScript = true;
Renderer.RenderingOptions.RenderDelay = 500; //milliseconds
using var PDF = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format");
PDF.SaveAs("wikipedia.pdf");
}
/**
IronPDF URL to PDF
anchor-ironpdf-website-to-pdf
**/
private void ExistingWebURL()
{
// Create a PDF from any existing web page
var Renderer = new IronPdf.ChromePdfRenderer();
// Create a PDF from an existing HTML
Renderer.RenderingOptions.MarginTop = 50; //millimetres
Renderer.RenderingOptions.MarginBottom = 50;
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
Renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
CenterText = "{pdf-title}",
DrawDividerLine = true,
FontSize = 16
};
Renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
{
LeftText = "{date} {time}",
RightText = "Page {page} of {total-pages}",
DrawDividerLine = true,
FontSize = 14
};
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
Renderer.RenderingOptions.EnableJavaScript = true;
Renderer.RenderingOptions.RenderDelay = 500; //milliseconds
using var PDF = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format");
PDF.SaveAs("wikipedia.pdf");
}
'''
'''IronPDF URL to PDF
'''anchor-ironpdf-website-to-pdf
'''*
Private Sub ExistingWebURL()
' Create a PDF from any existing web page
Dim Renderer = New IronPdf.ChromePdfRenderer()
' Create a PDF from an existing HTML
Renderer.RenderingOptions.MarginTop = 50 'millimetres
Renderer.RenderingOptions.MarginBottom = 50
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
Renderer.RenderingOptions.TextHeader = New TextHeaderFooter() With {
.CenterText = "{pdf-title}",
.DrawDividerLine = True,
.FontSize = 16
}
Renderer.RenderingOptions.TextFooter = New TextHeaderFooter() With {
.LeftText = "{date} {time}",
.RightText = "Page {page} of {total-pages}",
.DrawDividerLine = True,
.FontSize = 14
}
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
Renderer.RenderingOptions.EnableJavaScript = True
Renderer.RenderingOptions.RenderDelay = 500 'milliseconds
Dim PDF = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format")
PDF.SaveAs("wikipedia.pdf")
End Sub
以下のコードは、iText7を使用してウェブサイトのアドレスから直接PDFドキュメントを作成し、ヘッダーとフッターを追加します。
/**
iText URL to PDF
anchor-itext-url-to-pdf
**/
private void ExistingWebURL()
{
//Initialize PDF writer
PdfWriter writer = new PdfWriter("wikipedia.pdf");
//Initialize PDF document
using PdfDocument pdf = new PdfDocument(writer);
ConverterProperties properties = new ConverterProperties();
properties.SetBaseUri("https://en.wikipedia.org/wiki/Portable_Document_Format");
Document document = HtmlConverter.ConvertToDocument(new FileStream("Test_iText7_1.pdf", FileMode.Open), pdf, properties);
Paragraph header = new Paragraph("HEADER")
.SetTextAlignment(TextAlignment.CENTER)
.SetFontSize(16);
document.Add(header);
for (int i = 1; i <= pdf.GetNumberOfPages(); i++)
{
Rectangle pageSize = pdf.GetPage(i).GetPageSize();
float x = pageSize.GetWidth() / 2;
float y = pageSize.GetTop() - 20;
document.ShowTextAligned(header, x, y, i, TextAlignment.LEFT, VerticalAlignment.BOTTOM, 0);
}
document.SetTopMargin(50);
document.SetBottomMargin(50);
document.Close();
}
/**
iText URL to PDF
anchor-itext-url-to-pdf
**/
private void ExistingWebURL()
{
//Initialize PDF writer
PdfWriter writer = new PdfWriter("wikipedia.pdf");
//Initialize PDF document
using PdfDocument pdf = new PdfDocument(writer);
ConverterProperties properties = new ConverterProperties();
properties.SetBaseUri("https://en.wikipedia.org/wiki/Portable_Document_Format");
Document document = HtmlConverter.ConvertToDocument(new FileStream("Test_iText7_1.pdf", FileMode.Open), pdf, properties);
Paragraph header = new Paragraph("HEADER")
.SetTextAlignment(TextAlignment.CENTER)
.SetFontSize(16);
document.Add(header);
for (int i = 1; i <= pdf.GetNumberOfPages(); i++)
{
Rectangle pageSize = pdf.GetPage(i).GetPageSize();
float x = pageSize.GetWidth() / 2;
float y = pageSize.GetTop() - 20;
document.ShowTextAligned(header, x, y, i, TextAlignment.LEFT, VerticalAlignment.BOTTOM, 0);
}
document.SetTopMargin(50);
document.SetBottomMargin(50);
document.Close();
}
'''
'''iText URL to PDF
'''anchor-itext-url-to-pdf
'''*
Private Sub ExistingWebURL()
'Initialize PDF writer
Dim writer As New PdfWriter("wikipedia.pdf")
'Initialize PDF document
Using pdf As New PdfDocument(writer)
Dim properties As New ConverterProperties()
properties.SetBaseUri("https://en.wikipedia.org/wiki/Portable_Document_Format")
Dim document As Document = HtmlConverter.ConvertToDocument(New FileStream("Test_iText7_1.pdf", FileMode.Open), pdf, properties)
Dim header As Paragraph = (New Paragraph("HEADER")).SetTextAlignment(TextAlignment.CENTER).SetFontSize(16)
document.Add(header)
Dim i As Integer = 1
Do While i <= pdf.GetNumberOfPages()
Dim pageSize As Rectangle = pdf.GetPage(i).GetPageSize()
'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:
Dim x As Single = pageSize.GetWidth() / 2
Dim y As Single = pageSize.GetTop() - 20
document.ShowTextAligned(header, x, y, i, TextAlignment.LEFT, VerticalAlignment.BOTTOM, 0)
i += 1
Loop
document.SetTopMargin(50)
document.SetBottomMargin(50)
document.Close()
End Using
End Sub
iText 7では、著者が指定されたURLのドキュメントをPDFに変換するコードを開発するのに時間がかかりました。 2行のコードが必要です:
MemoryStream wiki = GetStreamFromUrl("https://en.wikipedia.org/wiki/Tiger");
HtmlConverter.ConvertToPdf(wiki, new FileStream("wikipedia.pdf",FileMode.OpenOrCreate));
MemoryStream wiki = GetStreamFromUrl("https://en.wikipedia.org/wiki/Tiger");
HtmlConverter.ConvertToPdf(wiki, new FileStream("wikipedia.pdf",FileMode.OpenOrCreate));
Dim wiki As MemoryStream = GetStreamFromUrl("https://en.wikipedia.org/wiki/Tiger")
HtmlConverter.ConvertToPdf(wiki, New FileStream("wikipedia.pdf",FileMode.OpenOrCreate))
MemoryStreamオブジェクトおよびFileStreamオブジェクトは、設定されたプロパティで作成する必要があります。
IronPDFを見てみましょう。
IronPDFは3行のコードを必要としました。 (コードセグメントの下部に SaveAs メソッドを含める場合)ただし、他には2行だけが必要でした:
var Renderer = new IronPdf.ChromePdfRenderer();
using var PDF = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format");
PDF.SaveAs("wikipedia.pdf")
var Renderer = new IronPdf.ChromePdfRenderer();
using var PDF = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format");
PDF.SaveAs("wikipedia.pdf")
Dim Renderer = New IronPdf.ChromePdfRenderer()
Dim PDF = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format")
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'PDF.SaveAs("wikipedia.pdf")
追加の .NET オブジェクトや FileStream は不要です。全ての機能は IronPDF の RenderUrlAsPdf メソッドに組み込まれているようです。
以下を日本語に翻訳します:
現在、出力の比較を含めています。これはこのチュートリアル中に行うすべての演習に適用されるはずです。
このコードセグメントでは、Tiger Wikipediaを変換しました ウェブページをPDFに変換する 両方のライブラリを使用して。
iTextのライブラリを使用して出力されたファイルには49ページがあります。 JavaScriptやCSSがレンダリングされませんでした。 結果の出力は以下の通りです:
IronPDFのライブラリを使用して出力されたファイルは12ページあります。 JavaScriptとCSSを非常によくレンダリングしました。 結果の出力は以下の通りです:
一枚の写真は千の言葉を伝えます…。 IronPDFはHTMLをPDFに変換する際に優れた性能を発揮します。
次のコードはPDFドキュメントを作成し、その中にHTML文字列を印刷します。
次のコードは、IronPDFを使用してHTML入力を含むPDFを生成します。
/**
IronPDF HTML to PDF
anchor-ironpdf-document-from-html
**/
private void HTMLString()
{
// Render any HTML fragment or document to HTML
var Renderer = new IronPdf.ChromePdfRenderer();
using var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>");
Renderer.RenderingOptions.TextFooter = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>" };
var OutputPath = "ChromePdfRenderer.pdf";
PDF.SaveAs(OutputPath);
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
}
/**
IronPDF HTML to PDF
anchor-ironpdf-document-from-html
**/
private void HTMLString()
{
// Render any HTML fragment or document to HTML
var Renderer = new IronPdf.ChromePdfRenderer();
using var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>");
Renderer.RenderingOptions.TextFooter = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>" };
var OutputPath = "ChromePdfRenderer.pdf";
PDF.SaveAs(OutputPath);
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
}
'''
'''IronPDF HTML to PDF
'''anchor-ironpdf-document-from-html
'''*
Private Sub HTMLString()
' Render any HTML fragment or document to HTML
Dim Renderer = New IronPdf.ChromePdfRenderer()
Dim PDF = Renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>")
Renderer.RenderingOptions.TextFooter = New HtmlHeaderFooter() With {.HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>"}
Dim OutputPath = "ChromePdfRenderer.pdf"
PDF.SaveAs(OutputPath)
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen
End Sub
以下のコードは、iText7を使用してHTMLテキストを含むPDFを作成しています。
/**
iText HTML to PDF
anchor-itext-html-to-pdf
**/
private void HTMLString()
{
HtmlConverter.ConvertToPdf("< h1 > Hello iText7 </ h1 >", new FileStream("ChromePdfRenderer.pdf", FileMode.Create));
}
/**
iText HTML to PDF
anchor-itext-html-to-pdf
**/
private void HTMLString()
{
HtmlConverter.ConvertToPdf("< h1 > Hello iText7 </ h1 >", new FileStream("ChromePdfRenderer.pdf", FileMode.Create));
}
'''
'''iText HTML to PDF
'''anchor-itext-html-to-pdf
'''*
Private Sub HTMLString()
HtmlConverter.ConvertToPdf("< h1 > Hello iText7 </ h1 >", New FileStream("ChromePdfRenderer.pdf", FileMode.Create))
End Sub
iTextは、HTML文字列をPDFとして出力するために、再びHtmlConverter.ConvertToPdf呼び出しを使用しています。
IronPDFは、HTMLおよびPDFと特に連携するように設計されたRenderHtmlAsPdfメソッドを使用します。
どちらのオプションも非常に迅速で要点を押さえていますが、IronPDFはレンダリングプロセスをコントロールする多くの機能を提供し、HTMLを使用してPDFページにヘッダーやフッターを追加することも可能です。
次のコードはASPXページからPDFドキュメントを作成します。
以下のコードはIronPDFを使用してASPXファイルからPDFを作成します。Webフォームは、Page_Loadイベントに1行のコードを追加することで動的なPDFになります。 IronPdf.AspxToPdf.RenderThisPageAsPdf
();`
/**
IronPDF ASPX to PDF
anchor-ironpdf-render-pdf-from-aspx
**/
protected void Page_Load(object sender, EventArgs e)
{
IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
/**
IronPDF ASPX to PDF
anchor-ironpdf-render-pdf-from-aspx
**/
protected void Page_Load(object sender, EventArgs e)
{
IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
'''
'''IronPDF ASPX to PDF
'''anchor-ironpdf-render-pdf-from-aspx
'''*
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
IronPdf.AspxToPdf.RenderThisPageAsPdf()
End Sub
iText7のpdfHTMLライブラリは、ASPXウェブページからPDFを生成することをサポートしていないように見えます。 この機能はプロジェクトごとにコーディングする必要があります。
開発者はフレームワークからHTMLを取得し、その後pdfHTMLアドオンがそのHTMLをPDFに変換します。
以下のコードはXMLをPDFに変換します。
/**
IronPDF XML to PDF
anchor-ironpdf-creates-pdf-from-xml
**/
private void XMLtoPDF(string XSLT, string XML)
{
XslCompiledTransform transform = new XslCompiledTransform();
using(XmlReader reader = XmlReader.Create(new StringReader(XSLT)))
{
transform.Load(reader);
}
StringWriter results = new StringWriter();
using(XmlReader reader = XmlReader.Create(new StringReader(XML)))
{
transform.Transform(reader, null, results);
}
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
// options, headers, and footers may be set there
// Render our XML as a PDF via XSLT
Renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("XMLtoPDF.pdf");
}
/**
IronPDF XML to PDF
anchor-ironpdf-creates-pdf-from-xml
**/
private void XMLtoPDF(string XSLT, string XML)
{
XslCompiledTransform transform = new XslCompiledTransform();
using(XmlReader reader = XmlReader.Create(new StringReader(XSLT)))
{
transform.Load(reader);
}
StringWriter results = new StringWriter();
using(XmlReader reader = XmlReader.Create(new StringReader(XML)))
{
transform.Transform(reader, null, results);
}
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
// options, headers, and footers may be set there
// Render our XML as a PDF via XSLT
Renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("XMLtoPDF.pdf");
}
'''
'''IronPDF XML to PDF
'''anchor-ironpdf-creates-pdf-from-xml
'''*
Private Sub XMLtoPDF(ByVal XSLT As String, ByVal XML As String)
Dim transform As New XslCompiledTransform()
Using reader As XmlReader = XmlReader.Create(New StringReader(XSLT))
transform.Load(reader)
End Using
Dim results As New StringWriter()
Using reader As XmlReader = XmlReader.Create(New StringReader(XML))
transform.Transform(reader, Nothing, results)
End Using
Dim Renderer As New IronPdf.ChromePdfRenderer()
' options, headers, and footers may be set there
' Render our XML as a PDF via XSLT
Renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("XMLtoPDF.pdf")
End Sub
XSLTファイルの構造は以下の通りです:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<p>Titles:
<xsl:for-each select="catalog/cd">
<xsl:value-of select="title"/>
<xsl:if test="position() < last()-1">
<xsl:text>, </xsl:text>
</xsl:if>
<xsl:if test="position()=last()-1">
<xsl:text>, and </xsl:text>
</xsl:if>
<xsl:if test="position()=last()">
<xsl:text>!</xsl:text>
</xsl:if>
</xsl:for-each>
</p>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<p>Titles:
<xsl:for-each select="catalog/cd">
<xsl:value-of select="title"/>
<xsl:if test="position() < last()-1">
<xsl:text>, </xsl:text>
</xsl:if>
<xsl:if test="position()=last()-1">
<xsl:text>, and </xsl:text>
</xsl:if>
<xsl:if test="position()=last()">
<xsl:text>!</xsl:text>
</xsl:if>
</xsl:for-each>
</p>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
iTextのXMLからPDFへの処理サポートにはカスタム開発作業が必要になる場合があります。
次のコードは外部ソースからデータを取得し、これに応じてチャートを作成します。
以下のコードは、HTMLからPDFへの変換を使用してIronPDFを使い、迅速にチャートを作成しページプロパティを設定します。
/**
IronPDF Create Chart
anchor-ironpdf-chart-creation
**/
private void Chart()
{
var Renderer = new ChromePdfRenderer();
using var PDF = Renderer.RenderUrlAsPdf("https://bl.ocks.org/mbostock/4062006");
Renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
Renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape;
PDF.SaveAs("chart.pdf");
}
/**
IronPDF Create Chart
anchor-ironpdf-chart-creation
**/
private void Chart()
{
var Renderer = new ChromePdfRenderer();
using var PDF = Renderer.RenderUrlAsPdf("https://bl.ocks.org/mbostock/4062006");
Renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
Renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape;
PDF.SaveAs("chart.pdf");
}
'''
'''IronPDF Create Chart
'''anchor-ironpdf-chart-creation
'''*
Private Sub Chart()
Dim Renderer = New ChromePdfRenderer()
Dim PDF = Renderer.RenderUrlAsPdf("https://bl.ocks.org/mbostock/4062006")
Renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4
Renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape
PDF.SaveAs("chart.pdf")
End Sub
以下のコードは、iText7を使用してチャートを作成し、プロパティを設定するものです。 プログラム的な描画APIスタイルが見えます。
/**
iText Create Chart
anchor-itext-c-charts
**/
private void Chart()
{
//Initialize PDF writer
PdfWriter writer = new PdfWriter("chart.pdf");
//Initialize PDF document
using PdfDocument pdf = new PdfDocument(writer);
ConverterProperties properties = new ConverterProperties();
properties.SetBaseUri("https://bl.ocks.org/mbostock/4062006");
Document document = HtmlConverter.ConvertToDocument(new FileStream("Test_iText7_1.pdf", FileMode.Open), pdf, properties);
Paragraph header = new Paragraph("HEADER")
.SetTextAlignment(TextAlignment.CENTER)
.SetFontSize(16);
document.Add(header);
for (int i = 1; i <= pdf.GetNumberOfPages(); i++)
{
Rectangle pageSize = pdf.GetPage(i).GetPageSize();
float x = pageSize.GetWidth() / 2;
float y = pageSize.GetTop() - 20;
document.ShowTextAligned(header, x, y, i, TextAlignment.LEFT, VerticalAlignment.BOTTOM, 0);
}
document.Close();
}
/**
iText Create Chart
anchor-itext-c-charts
**/
private void Chart()
{
//Initialize PDF writer
PdfWriter writer = new PdfWriter("chart.pdf");
//Initialize PDF document
using PdfDocument pdf = new PdfDocument(writer);
ConverterProperties properties = new ConverterProperties();
properties.SetBaseUri("https://bl.ocks.org/mbostock/4062006");
Document document = HtmlConverter.ConvertToDocument(new FileStream("Test_iText7_1.pdf", FileMode.Open), pdf, properties);
Paragraph header = new Paragraph("HEADER")
.SetTextAlignment(TextAlignment.CENTER)
.SetFontSize(16);
document.Add(header);
for (int i = 1; i <= pdf.GetNumberOfPages(); i++)
{
Rectangle pageSize = pdf.GetPage(i).GetPageSize();
float x = pageSize.GetWidth() / 2;
float y = pageSize.GetTop() - 20;
document.ShowTextAligned(header, x, y, i, TextAlignment.LEFT, VerticalAlignment.BOTTOM, 0);
}
document.Close();
}
'''
'''iText Create Chart
'''anchor-itext-c-charts
'''*
Private Sub Chart()
'Initialize PDF writer
Dim writer As New PdfWriter("chart.pdf")
'Initialize PDF document
Using pdf As New PdfDocument(writer)
Dim properties As New ConverterProperties()
properties.SetBaseUri("https://bl.ocks.org/mbostock/4062006")
Dim document As Document = HtmlConverter.ConvertToDocument(New FileStream("Test_iText7_1.pdf", FileMode.Open), pdf, properties)
Dim header As Paragraph = (New Paragraph("HEADER")).SetTextAlignment(TextAlignment.CENTER).SetFontSize(16)
document.Add(header)
Dim i As Integer = 1
Do While i <= pdf.GetNumberOfPages()
Dim pageSize As Rectangle = pdf.GetPage(i).GetPageSize()
'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:
Dim x As Single = pageSize.GetWidth() / 2
Dim y As Single = pageSize.GetTop() - 20
document.ShowTextAligned(header, x, y, i, TextAlignment.LEFT, VerticalAlignment.BOTTOM, 0)
i += 1
Loop
document.Close()
End Using
End Sub
IronPDFとiTextのライセンスオプションの最大の違いは、iTextSharpがAGPLライセンス契約の下でオープンソースであるという事実です。 簡単に言えば (引用されているように, 「AGPLライセンスは、他のGNUライセンスとは異なり、ネットワークソフトウェア向けに作られたものです。」 変更の追跡を行い、変更日を記録する場合に限り、改変されたバージョンを配布することができます。 通常のGNUライセンスと同様に、派生物はAGPLの下でライセンスされなければなりません。 それはGPLv3と同じ制限と自由を提供しますが、追加の条項として、ウェブ公開とともにソースコードを配布しなければならないことを定めています。 Since websites and services are never distributed in the traditional sense, the AGPL is the GPL of the web."
これは、アプリケーションが iTextSharp を何らかの形で使用している場合、たとえローカルネットワークまたはインターネットを介してであっても、アプリケーションの完全なソースコードをすべてのユーザーが自由に利用できる状態にしなければならないことを意味します。 それは常にプロジェクトの最善の利益になるとは限りません。
このライセンスは、高度な学術研究に使用されることが多く、学術目的に留まることを意図しています。また、学術環境外で展開されるソフトウェアの有料使用を意図しているオープンソースプロジェクトにも利用されています。 AGPLライセンス契約の性質により、オープンソース iTextSharp ライセンスは多くの商用利用ケースにとって難しく、開発者とプライベートライセンスを取り決め、法的に交渉する必要がある場合があります。
反対に、IronPDFは公然と商業的です。 C# PDFライブラリ. 開発用には無料で、商業展開には常にライセンスを取得することができます。 この明確なライセンスモデルは、開発者にGNU / AGPLライセンスモデルの詳細を学ぶ必要がなく、代わりに彼らのプロジェクトに集中することができます。 ライセンスが利用可能です 単一プロジェクトの使用、単一の開発者、エージェンシー、グローバル企業、およびSaaSおよびOEM再配布のために。 法的費用の交渉はなく、ただ単純なライセンス契約のみです。
IronPDFは:
効率的に仕事を遂行したい実践的なプログラマーにとって素晴らしい選択肢です。
**iText (アイテックス) (iTextSharp) 以下の内容を日本語に翻訳します:
is:**
この比較チュートリアルのすべてのソースコードは、GitHubでC#としてアクセスおよび共有することができます。
IronPDFとiTextSharpコードの比較私たちは、.NETでのPDF開発を簡単にするための無料PDFリソースガイドを作成しました。このガイドには、共通の機能のチュートリアルや、C#およびVB.NETでPDFを操作、編集、生成、保存するための例が含まれています。
ガイドをダウンロードIronPDF C# ライブラリのAPIリファレンスを探索し、IronPDFのすべての機能、クラス、メソッドフィールド、名前空間、および列挙型の詳細を確認してください。
APIリファレンスを表示9つの .NET API製品 オフィス文書用