製品比較

クエストPDFとIronPDFの比較

チペゴ
チペゴ・カリンダ
2024年8月11日
共有:

イントロダクション

PDFライブラリの選択は、インターネット上にあるPDF(ポータブルドキュメントフォーマット)を扱うためのツールの数が増え続ける中で、必要に合ったものを見つけることが難しい作業となる可能性があります。 それでは今日、IronPDF と QuestPDF の2つの異なるPDFツールを詳しく見てみましょう。

IronPDFとQuestPDFの概要

IronPDF は、PDF ドキュメントの作成、編集、処理における多様性で知られる包括的な .NET ライブラリです。 豊富な機能には、HTML から PDF への変換、ドキュメントのセキュリティ、インタラクティブ フォームなどが含まれており、IronPDF は開発者のツールキットに欠かせないものとなるでしょう。

QuestPDFは、PDF生成のための使いやすいコードのみのアプローチを提供することに焦点を当てたオープンソースの.NETライブラリです。 QuestPDFは、独自のスクリプト言語やフォーマットを必要とせず、シンプルで洗練されたコード中心のワークフローを好む場合に理想的です。

クロスプラットフォーム互換性

IronPDF

IronPDFは幅広いプラットフォームをサポートしており、お好みの環境で作業できるようにしています。 互換性の内訳は以下の通りです:

  • .NET バージョン:

    • (C#、VB.NET、F#)

    • .NET Core(8、7、6、5、および3.1+)。

    • .NET Standard (2.0+)
  • .NET Framework (4.6.2+)
  • アプリ環境: IronPDFは、Windows、Linux、Mac、Docker、Azure、およびAWSを含むアプリ環境で動作します。
  • IDEs: Microsoft Visual Studio や JetBrains Rider & ReSharper などの IDE と連携します
  • OSとプロセッサ: Windows、Mac、Linux、x64、x86、ARMを含む様々なOSとプロセッサをサポート

クエストPDF

QuestPDFは強力なクロスプラットフォーム互換性を提供しており、どのプラットフォームで作業していても、QuestPDFを作業環境に実装できる可能性が非常に高いです。

  • .NET バージョン:

    • .NET Core (3.1+)

    • .NET Standard (2.0+)
  • .NET Framework (4.6.1+)
  • システム: Windows、Linux、macOS、Azure、AWSなどの様々なオペレーティングシステムとクラウド環境で動作します。
  • IDEs: QuestPDFは、Visual Studio、VS Code、JetBrains Rider、その他のいずれのIDEでもワークスペース内で使用できます。

機能比較:IronPDFとQuestPDFのPDF機能

IronPDFとQuestPDFは、それぞれ異なるユーザーのニーズに合わせた特徴を提供しています。そのため、どちらのライブラリが最適かは、使用するPDFで何をしたいかによって決まります。 以下は、主要な機能の比較です:

IronPDFの機能

  • PDF変換: IronPDFはHTMLからPDFへの変換を処理でき、現代のウェブ標準を完全にサポートしているため、HTMLコンテンツから常にピクセルパーフェクトなPDFを返せることを保証します。 他のファイル形式をPDFに変換したいとお考えですか? IronPDFはDOCXからPDF、RTFからPDF、画像からPDFなど様々なファイル形式の変換をサポートしています。
  • PDF生成: IronPDFを使用すると、URL、ASPXファイル、またはHTML文字列からPDFドキュメントを生成できます。
  • 透かし: PDFファイルにテキストと画像の透かしを適用します。
  • セキュリティ機能: IronPDF を使用すると、セキュリティ機能のおかげで機密性のある PDF ファイルが常に安全であることを確信できます。 IronPDFを使用してPDFファイルを暗号化し、パスワードを設定し、PDFファイルに対する権限を設定します。
  • PDF編集機能: IronPDFを使用すると、PDFファイルを簡単に編集できます。 IronPDFはヘッダーやフッターの追加、PDFページへのテキストや画像のスタンプ、PDFへのカスタム透かしの追加、PDFフォームの操作、PDFファイルの分割や結合などの編集機能を提供します。

    より詳細な機能一覧については、IronPDFの機能ページをご覧ください。

QuestPDFの機能

  • C#を使用した設計文書: コードのみのアプローチを使用して、C#コードでPDFファイルを設計・作成します。
  • 包括的なレイアウトエンジン: QuestPDFの包括的なレイアウトエンジンにより、PDFドキュメントを簡単に作成できます。生成プロセスとドキュメントの構造に完全な制御を持たせることができ、ページングのフルサポートを提供し、ドキュメントの視覚構造を最適化します。
  • 予測可能な構造要素: QuestPDF を使用して、テキスト、画像、枠線、テーブルなどの構造要素をPDFファイルに追加します。
  • ホットリロード機能: コードの再コンパイルなしでリアルタイムのドキュメントプレビューを行うことができます。
  • メンテナンス: バージョン管理を効率的に処理し、エラーを修正したり古いバージョンを取得したりします。QuestPDFが提供する効率的なメンテナンスにより、複雑なHTMLの実装で時間を失うことはありません。

IronPDF vs. QuestPDFのトップハイライト機能の比較とコード例

PDFライブラリを選ぶ前に、どのPDFライブラリがあなたに適しているかを判断するために、PDFライブラリのさまざまな使用例を見てみましょう。そして、IronPDFとQuestPDFがどのようにこれらのタスクを処理するかを比較してみましょう。

HTMLをPDFに変換

IronPDFによるHTMLからPDFへの変換:

using IronPdf;

// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;

// Instantiate Renderer
var renderer = new ChromePdfRenderer();

// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
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 an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
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");

QuestPDF:

QuestPDFはHTMLからPDFへの変換をネイティブにサポートしていません。これは他のファイルをPDF形式に変換するのではなく、プログラム的にPDFを作成することを目的としています。

HTMLコンテンツをPDFドキュメントに変換するには、IronPDFのHTML-to-PDFツールが推奨されており、シンプルで効率的なソリューションを提供します。

PDF ファイルの暗号化

IronPDFによる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;

//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;

//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");

QuestPDF:

PDF暗号化の組み込みサポートがないため、暗号化が必要な場合、QuestPDFユーザーは外部ライブラリに頼ることになります。 ただし、QuestPDFはPDFのメタデータを修正することができます。

ドキュメントの暗号化やセキュリティ設定の調整が日常的に行われるのであれば、QuestPDFのような追加ライブラリのない広範な機能を持たないツールよりも、直感的な暗号化ツールを持つIronPDFが好まれます。

PDFコンテンツの編集

IronPDFでコンテンツを編集する

using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("novel.pdf");

// Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");

pdf.SaveAs("redacted.pdf");
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("novel.pdf");

// Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");

pdf.SaveAs("redacted.pdf");

QuestPDF:

QuestPDFは直接的には内容の編集をサポートしていません。その代わり、QuestPDFで内容を編集したい場合は、iTextSharpなどの追加ライブラリを使用する必要があります。

QuestPDFはredactionタスクのために補完的なライブラリを必要としますが、IronPdfはコンテンツのredactingをシンプルかつ効率的にします。

PDFへの署名

IronPDFでのデジタル署名

using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");

// 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
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");

// 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
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");

QuestPDF:

QuestPDFはPDFの電子署名には使用できません。 代わりに、QuestPDFを使用してPDFを作成し、その後、外部ライブラリを使用してそのPDFにデジタル署名を行うことができます。

合理化されたデジタル署名のために、IronPDFの署名機能は、QuestPDFとは異なり、完全なコントロールと使いやすさを提供します。

PDFにウォーターマークを適用

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");

QuestPDF:

QuestPDFは、このライブラリがシンプルなため、PDFファイルにウォーターマークを追加するためには使用できません。

IronPDFのHTML/CSS機能をカスタム透かしに活用し、QuestPDFがネイティブ透かしをサポートしていないのと対照的です。

画像HTMLテキストをスタンプ

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");

QuestPDF:

using QuestPDF.Fluent;
using QuestPDF.Infrastructure;
using QuestPDF.Helpers;

Document.Create(container =>
{
    container.Page(page =>
    {
        page.Size(PageSizes.A4);
        page.Margin(2, Unit.Centimetre);
        page.PageColor(Colors.White);
        page.DefaultTextStyle(x => x.FontSize(12));

        // Adding Header and Footer for context
        page.Header()
            .Text("Header Text")
            .FontSize(20)
            .Bold()
            .AlignCenter();

        page.Footer()
            .Text("Footer Text")
            .FontSize(12)
            .AlignCenter();

        // Adding main content and stamps
        page.Content()
            .Canvas(canvas =>
            {
                // Main content
                canvas.DrawText("This is the main content of the page.", x =>
                {
                    x.Translate(50, 50);
                    x.FontSize(12);
                });

                // Stamped text
                canvas.DrawText("Stamped Text", x =>
                {
                    x.Translate(200, 200); // Position the text
                    x.FontSize(30);
                    x.Bold();
                    x.FontColor(Colors.Red);
                });

                // Stamped image
                canvas.DrawImage("path/to/image.png", x =>
                {
                    x.Translate(200, 300); // Position the image
                    x.Width(100); // Set the width of the image
                });
            });
    });
}).GeneratePdf("output.pdf");
using QuestPDF.Fluent;
using QuestPDF.Infrastructure;
using QuestPDF.Helpers;

Document.Create(container =>
{
    container.Page(page =>
    {
        page.Size(PageSizes.A4);
        page.Margin(2, Unit.Centimetre);
        page.PageColor(Colors.White);
        page.DefaultTextStyle(x => x.FontSize(12));

        // Adding Header and Footer for context
        page.Header()
            .Text("Header Text")
            .FontSize(20)
            .Bold()
            .AlignCenter();

        page.Footer()
            .Text("Footer Text")
            .FontSize(12)
            .AlignCenter();

        // Adding main content and stamps
        page.Content()
            .Canvas(canvas =>
            {
                // Main content
                canvas.DrawText("This is the main content of the page.", x =>
                {
                    x.Translate(50, 50);
                    x.FontSize(12);
                });

                // Stamped text
                canvas.DrawText("Stamped Text", x =>
                {
                    x.Translate(200, 200); // Position the text
                    x.FontSize(30);
                    x.Bold();
                    x.FontColor(Colors.Red);
                });

                // Stamped image
                canvas.DrawImage("path/to/image.png", x =>
                {
                    x.Translate(200, 300); // Position the image
                    x.Width(100); // Set the width of the image
                });
            });
    });
}).GeneratePdf("output.pdf");

IronPDFとQuestPDFはどちらもテキストと画像のスタンプをサポートしていますが、QuestPDFの長いアプローチに比べ、IronPDFの簡潔な方法はより簡単です。

DOCXからPDFへ

IronPDF での DOCX から 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");
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");

QuestPDF:

QuestPDFはDOCXからPDFへの直接変換をサポートしていません。 QuestPDFでDOCXファイルをPDFに変換するには、Aspose.WordsやSyncfusionなどの追加ライブラリが必要です。

DOCX変換機能がないQuestPDFよりも、DOCX変換機能があるIronPDFを選択しましょう。

コード例の比較の概要

Questpdf Html To Pdf Alternatives 1 related to コード例の比較の概要

価格とライセンス: IronPDF対QuestPDFライブラリ

IronPDFの価格とライセンス

IronPDFのライセンスオプションを表示して、さまざまなレベルや追加機能を確認してください。 開発者はまた、すべてのIronSoftware製品を2つ分の価格で含むIron Suite Accessを購入することができます。 IronPDFは30日間の無料トライアルも提供しています。

  • 永久ライセンス: チームの規模、プロジェクトのニーズ、および場所の数に応じたさまざまな永久ライセンスを提供しています。 各ライセンスタイプにはメールサポートが含まれています。
  • Lite License: このライセンスの価格は$749で、1人の開発者、1つの場所、1つのプロジェクトをサポートします。
  • Plus License: 3人の開発者、3つの場所、および3つのプロジェクトをサポートするこのライセンスは、ライトライセンスよりも一歩進んでおり、価格は$1,499です。このPlusライセンスでは、基本的なメールサポートに加えて、チャットサポートと電話サポートを提供します。
  • Professional License: 大規模なチーム向けに、10人の開発者、10か所の拠点、10のプロジェクトをサポートし、価格は$2,999です。以前の階層と同様のコンタクトサポートチャネルを提供するだけでなく、画面共有サポートも提供します。
  • ロイヤリティフリー再配布: IronPDFのライセンスには、追加料金$1,999でロイヤリティフリーの再配布カバレッジが提供されます。
  • 途切れない製品サポート: 年間$999または5年間のカバレッジとして一括払い$1,999で、継続的な製品アップデート、セキュリティ機能のアップグレード、エンジニアリングチームによるサポートを提供します。
  • Iron Suite: $1,498で、IronPDF, IronOCR, IronWord, IronXL, IronBarcode, IronQR, IronZIP, IronPrint, IronWebScraperを含むすべてのIron Software製品にアクセスできます。

    画像

クエストPDF

  • コミュニティ: QuestPDFはオープンソースで、MITライセンスの下で利用可能です。コミュニティライセンスは無料です。 このライセンスを使用することで、このソフトウェアのライセンスモデルに従って、このソフトウェアを使用したプロジェクトを自由に変更し、配布することができます。
  • Professional: $699で、プロフェッショナルライセンスはQuestPDFを使用するプロジェクトに取り組む最大10人の開発者チームをカバーします。
  • Enterprise: この最終ライセンスタイアは$1,999で、無制限の開発者をカバーします。

ドキュメントとサポート:IronPDF vs QuestPDF

IronPDF

IronPDFは、充実したドキュメントとサポートを提供することに優れています。

  • 包括的なドキュメント: すべての機能を網羅した豊富でユーザーフレンドリーなドキュメント。
  • 24/5サポート: 現役エンジニアのサポートが利用可能です。
  • ビデオチュートリアル: YouTube でステップバイステップのビデオガイドが利用できます。
  • コミュニティフォーラム: 追加サポートのための活発なコミュニティ。
  • 定期的な更新: 最新の機能とセキュリティパッチを確保するための月次製品アップデート。

    詳細については、IronPDFのドキュメントをご覧になり、IronSoftware YouTubeチャンネルを訪問してください。

クエストPDF

  • ドキュメント: QuestPDFは、ウェブサイトで広範なドキュメント、迅速な開始ガイドやコード例を提供しています。
  • コミュニティ: オープンソースプロジェクトとして、QuestPDFはプロモーションやバグ発見のためにコミュニティの貢献に大きく依存しており、活発で協力的な開発者コミュニティを奨励しています。
  • YouTube動画: QuestPDFは、ライブラリのさまざまな側面を学ぶための動画を投稿して、開発者を支援するYouTubeチャンネルを拡大中です。

    QuestPDFは、ドキュメントとサポートに関してコミュニティの貢献に依存しているため、IronPDFの提供と比べると、非常に広範囲には至らないかもしれません。

結論

IronPDFとQuestPDFはどちらも、.NETでのPDF生成に貴重なツールを提供しており、異なる開発ニーズに対応しています。 お客様のニーズとご予算に応じて、最適な翻訳をお選びください。 QuestPDF は、オープンソースでシンプルに使用できるため、コード中心の軽量なソリューションを求める開発者に適しています。 もしあなたがIronPDFのような余分な機能は必要なく、無料でシンプルなPDFライブラリが欲しいのであれば、QuestPDFが最適かもしれません。

IronPDFは、包括的な機能セット、充実したドキュメント、および堅牢なサポートにより、エンタープライズレベルのアプリケーションに最適な選択肢です。 IronPDFを使えば、PDF関連のタスクが大きすぎることはありませんし、複雑なPDFタスクを処理するために追加のライブラリをインストールする必要もありません。

IronPDFは、包括的な機能セット、充実したドキュメント、および堅牢なサポートにより、エンタープライズレベルのアプリケーションに最適な選択肢です。 IronPDFを開発者のツールキットに追加することで、PDF関連のタスクがどんなに大きくても問題ありません。また、より複雑なPDFタスクを扱う際に追加のライブラリをインストールする必要性が減少します。

30日間の無料トライアルを試して、利用可能な機能を確認できます。

チペゴ
ソフトウェアエンジニア
チペゴは優れた傾聴能力を持ち、それが顧客の問題を理解し、賢明な解決策を提供する助けとなっています。彼は情報技術の学士号を取得後、2023年にIron Softwareチームに加わりました。現在、彼はIronPDFとIronOCRの2つの製品に注力していますが、顧客をサポートする新しい方法を見つけるにつれて、他の製品に関する知識も日々成長しています。Iron Softwareでの協力的な生活を楽しんでおり、さまざまな経験を持つチームメンバーが集まり、効果的で革新的な解決策を提供することに貢献しています。チペゴがデスクを離れているときは、良い本を楽しんだり、サッカーをしていることが多いです。
< 以前
IronPDFとPSPDFKitの比較
次へ >
IronPDF と Innovasys Document! X の比較