IronPDF ハウツー ベースURL & アセットエンコーディング How to Use Base URLs & Asset Encoding Curtis Chau 更新日:7月 22, 2025 Download IronPDF NuGet Download テキストの検索と置換 テキストと画像のスタンプ Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article This article was translated from English: Does it need improvement? Translated View the article in English IronPDFは.NETプロジェクトでPDF文書を生成するための便利なツールです。 このライブラリの一般的な使用例として“HTML to PDF”レンダリングがあります。HTMLがPDF文書をレンダリングするためのデザイン言語として使用されます。 論理的な質問: HTML to PDF変換においてCSSスタイルシートや画像ファイルをどのように使用することができるか? クイックスタート: IronPDFでのベースURLの実装 IronPDFを使って、.NET C#でのHTMLからPDFへの変換時にシームレスなアセットローディングを実現するために、ベースURLを簡単に実装して始めましょう。 この例では、BaseUrlOrPathを設定することで、全てのCSS、JavaScript、および画像が正しく参照され、強力なPDF文書の生成プロセスを簡素化する方法を示しています。 開発者が最小限の設定でPDFレンダリングを強化したい場合に最適です。 Get started making PDFs with NuGet now: Install IronPDF with NuGet Package Manager PM > Install-Package IronPdf Copy and run this code snippet. new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<img src='icons/logo.png'>", @"C:\site\assets\").SaveAs("with‑assets.pdf"); Deploy to test on your live environment Start using IronPDF in your project today with a free trial Free 30 day Trial class="hsg-featured-snippet">最小ワークフロー (5ステップ) HTMLからCSSまでの画像サポート用にIronPDFをダウンロード外部画像をHTMLで使用するためにBaseUrlOrPathパラメータを指定Webと出力PDFの両方に正しく表示するためにMVCで正しいsrcを構成カスタムヘッダーとフッターを使用するためにBaseUrlプロパティを指定出力PDFを確認 画像とCSSアセットを含むHTML文字列からPDFをレンダリング HTML文字列からPDFへの変換作業において、CSSやJavaScriptファイル、画像などのアセットのためにBaseUrlOrPathパラメータを設定することが重要です。 BaseUrlOrPathは、全てのアセットが相対的に読み込まれる基準URLを指定します。 これはリモートアセットを読み込むための'http'で始まるウェブURLか、ディスク上のアセットにアクセスするためのローカルファイルパスにすることができます。 BaseUrlOrPathを正しく設定することで、変換プロセス中にアセットが正しく読み込まれるようになります。 :path=/static-assets/pdf/content-code-examples/how-to/base-urls-baseurl.cs using IronPdf; // Instantiate ChromePdfRenderer ChromePdfRenderer renderer = new ChromePdfRenderer(); string baseUrl = @"C:\site\assets\"; string html = "<img src='icons/iron.png'>"; // Render HTML to PDF PdfDocument pdf = renderer.RenderHtmlAsPdf(html, baseUrl); // Export PDF pdf.SaveAs("html-with-assets.pdf"); Imports IronPdf ' Instantiate ChromePdfRenderer Private renderer As New ChromePdfRenderer() Private baseUrl As String = "C:\site\assets\" Private html As String = "<img src='icons/iron.png'>" ' Render HTML to PDF Private pdf As PdfDocument = renderer.RenderHtmlAsPdf(html, baseUrl) ' Export PDF pdf.SaveAs("html-with-assets.pdf") $vbLabelText $csharpLabel MVCアプリケーション MVCアプリケーションでは、画像のファイルパスを指定することは課題となる場合があります。 IronPDFによって画像が見つかり、ウェブサイトに正しく表示されるようにするためには、IronPDFのbaseUrlとHTML文字列のsrc=""属性を正しく設定する必要があります。 以下のファイル階層を設定 baseUrlOrPathを@"wwwroot/image" src属性を"../image/Sample.jpg" wwwroot └── image ├── Sample.jpg └── Sample.png 例えば: :path=/static-assets/pdf/content-code-examples/how-to/base-mvc.cs // Instantiate ChromePdfRenderer ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render HTML to PDF PdfDocument pdf = renderer.RenderHtmlAsPdf("html.Result", @"wwwroot/image"); ' Instantiate ChromePdfRenderer Dim renderer As New ChromePdfRenderer() ' Render HTML to PDF Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("html.Result", "wwwroot/image") $vbLabelText $csharpLabel <img src="../image/Sample.jpg"/> <img src="../image/Sample.png"/> <img src="../image/Sample.jpg"/> <img src="../image/Sample.png"/> HTML 警告 機能しないファイルパス形式 以下の形式はChromeブラウザでの閲覧時には問題なく動作しますが、MVCアプリで使用すると間違ったフォルダーにポインティングします。これらの形式はRenderHtmlAsPdfメソッドでbaseUrlOrPathが提供されていればIronPDFでも動作します: <img src="image/footer.png"/> <img src="./image/footer.png"/> <img src="image/footer.png"/> <img src="./image/footer.png"/> HTML 一方、これらの形式はMVCアプリで問題なく動作しますが、ファイルパスとなるとIronPDFではうまく動作しません: <img src="/image/footer.png"/> <img src="~/image/footer.png"/> <img src="/image/footer.png"/> <img src="~/image/footer.png"/> HTML 画像やアセットを含むHTMLヘッダーとフッター 新規または既存のPDFにHTMLヘッダーとフッターをレンダリングすると、これらは独立したHTML文書として扱われ、PDF自体からBaseURLを継承しません。 アセットを読み込むことができるベースURLを設定する必要があります: :path=/static-assets/pdf/content-code-examples/how-to/base-header-footer.cs using IronPdf; using System; // Instantiate ChromePdfRenderer ChromePdfRenderer renderer = new ChromePdfRenderer(); // Add header renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter() { MaxHeight = 20, HtmlFragment = "<img src='logo.png'>", BaseUrl = new Uri(@"C:\assets\images\").AbsoluteUri }; Imports IronPdf Imports System ' Instantiate ChromePdfRenderer Private renderer As New ChromePdfRenderer() ' Add header renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With { .MaxHeight = 20, .HtmlFragment = "<img src='logo.png'>", .BaseUrl = (New Uri("C:\assets\images\")).AbsoluteUri } $vbLabelText $csharpLabel CSS、JS、画像アセットを含むHTMLファイルをPDFに変換 HTMLファイルをPDFにレンダリングする際には、全てのアセットがそのファイルにローカルであると想定されます。 :path=/static-assets/pdf/content-code-examples/how-to/base-html-file.cs using IronPdf; // Instantiate ChromePdfRenderer ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render HTML file to PDF PdfDocument pdf = renderer.RenderHtmlFileAsPdf("C:\\Assets\\TestInvoice1.html"); // Export PDF pdf.SaveAs("Invoice.pdf"); Imports IronPdf ' Instantiate ChromePdfRenderer Private renderer As New ChromePdfRenderer() ' Render HTML file to PDF Private pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("C:\Assets\TestInvoice1.html") ' Export PDF pdf.SaveAs("Invoice.pdf") $vbLabelText $csharpLabel 上記の例では、全てのJS、CSS、画像ファイルはディスク上のC:\Assetsフォルダから読み込まれます。HTMLファイルが配置されているのと同じディレクトリです。 便利のために、ChromePdfRenderOptionsのCustomCssUrlで追加のスタイルシートを.NET PDFレンダリングに使用するスタイルシートとして指定することができます。例えば: :path=/static-assets/pdf/content-code-examples/how-to/base-html-file-baseurl.cs using IronPdf; // Instantiate ChromePdfRenderer ChromePdfRenderer renderer = new ChromePdfRenderer(); // Set additional CSS url renderer.RenderingOptions.CustomCssUrl = "./style.css"; // Render HTML file to PDF PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>"); // Export PDF pdf.SaveAs("tryCss.pdf"); Imports IronPdf ' Instantiate ChromePdfRenderer Private renderer As New ChromePdfRenderer() ' Set additional CSS url renderer.RenderingOptions.CustomCssUrl = "./style.css" ' Render HTML file to PDF Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>") ' Export PDF pdf.SaveAs("tryCss.pdf") $vbLabelText $csharpLabel ご注意現在、 ChromePdfRenderOptions.CustomCssUrlプロパティは、HTML文字列からPDF文書にレンダリングする際に限りRenderHtmlAsPdfメソッドで機能します。 画像アセットのエンコーディング 画像アセットはHTMLファイルまたは文字列に直接エンコードすることができ、これにより画像が見つからないというフラストレーションを避けるのに役立ちます。 これを行うには、base64の使用を利用することができます: まず、画像ファイルを読み込むかネットワーク要求を通じて画像のバイナリデータを取得します。 Microsoft .NETの Convert.ToBase64Stringメソッドを使用してバイナリデータをbase64に変換します。 base64データの前に "data:image/svg+xml;base64," を使用し、HTML内で画像タグを構築します。 base64データの前に画像タイプが指定されていることに気付いたかもしれません。 MDN Web Docsの画像タイプとフォーマットを訪れて、画像フォーマットタイプについての詳細を得ることができます。 :path=/static-assets/pdf/content-code-examples/how-to/add-images-to-pdfs-base64-image.cs using IronPdf; using System; using System.IO; ChromePdfRenderer renderer = new ChromePdfRenderer(); // Import image file binary data byte[] binaryData = File.ReadAllBytes("ironpdf-logo-text-dotnet.svg"); // Convert the binary data to base 64 string imgDataUri = Convert.ToBase64String(binaryData); // Embed in HTML string html = $"<img src='data:image/svg+xml;base64,{imgDataUri}'>"; // Convert HTML to PDF PdfDocument pdf = renderer.RenderHtmlAsPdf(html); // Export the PDF pdf.SaveAs("embedImageBase64.pdf"); Imports IronPdf Imports System Imports System.IO Private renderer As New ChromePdfRenderer() ' Import image file binary data Private binaryData() As Byte = File.ReadAllBytes("ironpdf-logo-text-dotnet.svg") ' Convert the binary data to base 64 Private imgDataUri As String = Convert.ToBase64String(binaryData) ' Embed in HTML Private html As String = $"<img src='data:image/svg+xml;base64,{imgDataUri}'>" ' Convert HTML to PDF Private pdf As PdfDocument = renderer.RenderHtmlAsPdf(html) ' Export the PDF pdf.SaveAs("embedImageBase64.pdf") $vbLabelText $csharpLabel よくある質問 HTMLからPDFへの変換において基本URLを使用することの重要性は? 基本URLは、CSSスタイルシート、JavaScriptファイル、画像などのすべての関連アセットが正しくロードされることを保証するため、HTMLからPDFへの変換において重要です。IronPDFでは、BaseUrlOrPathパラメータをウェブURLまたはローカルファイルパスに設定することで、このプロセスを容易にします。 PDF生成のためにMVCアプリケーションでアセットのロードをどのように処理しますか? IronPDFを使用するMVCアプリケーションでは、BaseUrlOrPathパラメータをアセットを含むディレクトリに設定することでアセットロードを処理できます。これにより、HTMLはこの基本パスに対するCSSおよび画像パスを正しく参照します。 アセットエンコーディングとは何ですか、そしてそれがPDF生成でなぜ使用されるのですか? アセットエンコーディングには、画像データをbase64文字列に変換してHTML内に埋め込むことが含まれます。この技術はIronPDFで使用され、特にアセットがURLまたはファイルパスから直接アクセスできない場合に、PDFレンダリングプロセス中に画像が欠落しないことを保証します。 .NETでのPDFレンダリング中に追加のスタイルシートをどのように含められますか? IronPDFのChromePdfRenderOptionsを使用して、.NETでのPDFレンダリング中に追加のスタイルシートを含めることができます。CustomCssUrlプロパティを設定することにより、レンダリングプロセスで使用される外部スタイルシートを指定できます。 PDFで画像が表示されない場合の一般的なトラブルシューティングの手順は何ですか? PDFで画像が表示されない場合の一般的なトラブルシューティングの手順には、HTML内のBaseUrlOrPathとsrc属性の正確性を確認することが含まれます。IronPDFを使用する際にこれらのパスが正確であることを確認すると、画像不足のほとんどの問題を解決します。 HTMLヘッダーとフッターをどのようにPDFに画像と一緒にレンダリングしますか? HTMLヘッダーとフッターは、それぞれ別のBaseURLを設定することでPDFに画像と一緒にレンダリングできます。IronPDFを使用する場合、ヘッダーとフッターは独立したHTMLドキュメントとして扱われるため、アセットのロードのためにその基本パスが正しく設定されていることが重要です。 アセットを持つローカルのHTMLファイルをPDFに変換できますか? はい、IronPDFを使用してアセットを持つローカルのHTMLファイルをPDFに変換できます。BaseUrlOrPathがHTMLファイルのディレクトリに設定されていることを確認することで、IronPDFはCSSや画像などのすべての関連アセットを正しくロードします。 アセットの読み込みにベース URL を使用する場合、IronPDF は .NET 10 と完全に互換性がありますか? はい。IronPDFは.NET 10と完全に互換性を持つように設計されています。HTMLからPDFへの変換時にアセットを読み込む際に、BaseUrlOrPath(ローカルファイルパスまたはWeb URL)を使用できます。追加のカスタムワークアラウンドは必要ありません。以前のバージョンと同様に、IronPDFでは.NET 10プロジェクトでベースURLを安心して使用できます。 Curtis Chau 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 準備はいいですか? Nuget ダウンロード 16,154,058 | バージョン: 2025.11 ただ今リリースされました 試用ライセンスキーがメールで送信されました。 総ダウンロード数: 16,154,058 ライセンスを見る