IRONPDFの使用 ASP .NET C#でIronPDFを使ってPDFファイルをアップロード、ダウンロードする方法 カーティス・チャウ 更新日:2025年12月4日 IronPDF をダウンロード NuGet ダウンロード DLL ダウンロード Windows 版 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る PDFダウンロードファイルとアップロードの管理は、ASP.NET Core MVC(Model-View-Controller)Webアプリケーションの一般的な要件です。 EF Coreを使用してデータベースのテーブルにドキュメントを保存する場合でも、保存する前にサーバーサイドで処理する場合でも、開発者はPDFドキュメントを効率的に処理する信頼できる方法を必要としています。 この記事では、ASP .NET C#でPDFファイルをアップロードしてダウンロードする方法を、IronPDFを活用して透かしを追加し、ドキュメントをオンデマンドで生成し、.NET Coreプロジェクトとシームレスに統合する方法を示します。 PDF保存用のデータベース テーブルはどのように作成しますか? 最初のステップでは、アップロードされたPDFファイルをバイナリデータとして格納するデータベーステーブルを作成します。 次のコードは、ファイル名、コンテンツタイプ、バイト配列ストレージのプロパティを持つファイル構造を表すモデルクラスです。 これは、EF Coreのファイル永続化に関わる新しいチュートリアルでよく見られるパターンです。 public class PdfFileModel { public int Id { get; set; } public string FileName { get; set; } public string ContentType { get; set; } public byte[] FileData { get; set; } public DateTime UploadedDate { get; set; } } public class PdfFileModel { public int Id { get; set; } public string FileName { get; set; } public string ContentType { get; set; } public byte[] FileData { get; set; } public DateTime UploadedDate { get; set; } } Public Class PdfFileModel Public Property Id As Integer Public Property FileName As String Public Property ContentType As String Public Property FileData As Byte() Public Property UploadedDate As DateTime End Class $vbLabelText $csharpLabel このモデルは、FileDataがPDFドキュメントをvarbinaryカラムとして格納するデータベーステーブルに直接マッピングされます。 FileNameプロパティは元のファイル名を保持し、ContentTypeはダウンロードPDFファイルをユーザーに提供する際に適切なコンテンツ配置を保証します。 要件に応じて、詳細欄やメタデータフィールドを追加することもできます。 どのようにASP.NET CoreでPDFファイルをデータベースにアップロードできますか? 1つ以上のファイルをアップロードするには、IFormFileパラメータを受け付けるコントローラアクションを作成します。 HTMLフォームのFileUploadコントロールは、enctype="multipart/form-data"を使用して、アップロードされたファイルを適切にサーバーにロードし、PDFバイトが正しく送信されるようにしなければなりません。 名前空間はプロジェクト名と同じになることに注意してください。 namespace UploadPdfs.Controllers { public class PdfController : Controller { private readonly ApplicationDbContext _context; public PdfController(ApplicationDbContext context) { _context = context; } [HttpPost] public async Task<IActionResult> Upload(IFormFile file) { if (file == null || file.Length == 0) return BadRequest("No file selected"); using (var stream = new MemoryStream()) { await file.CopyToAsync(stream); var pdfFile = new PdfFileModel { FileName = file.FileName, ContentType = file.ContentType, FileData = stream.ToArray(), UploadedDate = DateTime.Now }; _context.PdfFiles.Add(pdfFile); await _context.SaveChangesAsync(); } return RedirectToAction("Index"); } } } namespace UploadPdfs.Controllers { public class PdfController : Controller { private readonly ApplicationDbContext _context; public PdfController(ApplicationDbContext context) { _context = context; } [HttpPost] public async Task<IActionResult> Upload(IFormFile file) { if (file == null || file.Length == 0) return BadRequest("No file selected"); using (var stream = new MemoryStream()) { await file.CopyToAsync(stream); var pdfFile = new PdfFileModel { FileName = file.FileName, ContentType = file.ContentType, FileData = stream.ToArray(), UploadedDate = DateTime.Now }; _context.PdfFiles.Add(pdfFile); await _context.SaveChangesAsync(); } return RedirectToAction("Index"); } } } Imports System Imports System.IO Imports System.Threading.Tasks Imports Microsoft.AspNetCore.Http Imports Microsoft.AspNetCore.Mvc Namespace UploadPdfs.Controllers Public Class PdfController Inherits Controller Private ReadOnly _context As ApplicationDbContext Public Sub New(context As ApplicationDbContext) _context = context End Sub <HttpPost> Public Async Function Upload(file As IFormFile) As Task(Of IActionResult) If file Is Nothing OrElse file.Length = 0 Then Return BadRequest("No file selected") End If Using stream As New MemoryStream() Await file.CopyToAsync(stream) Dim pdfFile As New PdfFileModel With { .FileName = file.FileName, .ContentType = file.ContentType, .FileData = stream.ToArray(), .UploadedDate = DateTime.Now } _context.PdfFiles.Add(pdfFile) Await _context.SaveChangesAsync() End Using Return RedirectToAction("Index") End Function End Class End Namespace $vbLabelText $csharpLabel 単純なファイルのアップロード How to Upload and Download PDF Files in ASP .NET C# with IronPDF:画像1 - アップロードされたPDFを表示するUI。 ここでは、IFormFileインターフェイスが、アップロードされたファイルのストリームへのアクセスを提供します。 データベースの代わりにファイルシステムのストレージを使用する場合は、ソリューションエクスプローラでプロジェクトを右クリックし、_Add → New Folder_を選択して、アップロードされたファイルを整理することができます。 アップロードには、以下のフォームを使用してください: <form method="post" action="/Pdf/Upload" enctype="multipart/form-data"> <button type="submit">Upload</button> </form> <form method="post" action="/Pdf/Upload" enctype="multipart/form-data"> <button type="submit">Upload</button> </form> The provided code is HTML, not C#. Therefore, it doesn't require conversion to VB.NET. If you have any C# code that needs conversion, please provide it, and I'll be happy to assist. $vbLabelText $csharpLabel アップロードされた透かし入りの PDF ファイルをどのように処理しますか? アップロードしたPDFファイルをデータベースに保存する前に、IronPDFの透かし機能を使って処理することができます。 これにより、システムに入るすべてのPDFドキュメントに、ブランディング、"DRAFT"ラベル、または"CONFIDENTIAL"スタンプを追加することができます。 [HttpPost] public async Task<IActionResult> UploadWithWatermark(IFormFile file) { if (file == null || file.Length == 0) return BadRequest("No file selected"); // 1. Read the uploaded file into a byte array using (var stream = new MemoryStream()) { await file.CopyToAsync(stream); byte[] fileBytes = stream.ToArray(); // 2. Process with IronPDF (Apply Watermark) var PDF = new IronPdf.PdfDocument(fileBytes); pdf.ApplyWatermark("<h2 style='color:red'>CONFIDENTIAL</h2>", 60, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center); // 3. Define the new file name and path string uniqueFileName = Guid.NewGuid().ToString() + "_" + file.FileName; string filePath = Path.Combine(_storagePath, uniqueFileName); // 4. Save the processed bytes to the file system System.IO.File.WriteAllBytes(filePath, pdf.BinaryData); // 5. Save metadata to the in-memory list (instead of DB) var pdfFile = new PdfFileModel { Id = _nextId++, FileName = file.FileName, ContentType = "application/pdf", FilePath = filePath, // Store the physical path UploadedDate = DateTime.Now }; _pdfFiles.Add(pdfFile); } return RedirectToAction("Index"); } [HttpPost] public async Task<IActionResult> UploadWithWatermark(IFormFile file) { if (file == null || file.Length == 0) return BadRequest("No file selected"); // 1. Read the uploaded file into a byte array using (var stream = new MemoryStream()) { await file.CopyToAsync(stream); byte[] fileBytes = stream.ToArray(); // 2. Process with IronPDF (Apply Watermark) var PDF = new IronPdf.PdfDocument(fileBytes); pdf.ApplyWatermark("<h2 style='color:red'>CONFIDENTIAL</h2>", 60, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center); // 3. Define the new file name and path string uniqueFileName = Guid.NewGuid().ToString() + "_" + file.FileName; string filePath = Path.Combine(_storagePath, uniqueFileName); // 4. Save the processed bytes to the file system System.IO.File.WriteAllBytes(filePath, pdf.BinaryData); // 5. Save metadata to the in-memory list (instead of DB) var pdfFile = new PdfFileModel { Id = _nextId++, FileName = file.FileName, ContentType = "application/pdf", FilePath = filePath, // Store the physical path UploadedDate = DateTime.Now }; _pdfFiles.Add(pdfFile); } return RedirectToAction("Index"); } Imports System Imports System.IO Imports System.Threading.Tasks Imports Microsoft.AspNetCore.Http Imports Microsoft.AspNetCore.Mvc Imports IronPdf <HttpPost> Public Async Function UploadWithWatermark(file As IFormFile) As Task(Of IActionResult) If file Is Nothing OrElse file.Length = 0 Then Return BadRequest("No file selected") End If ' 1. Read the uploaded file into a byte array Using stream As New MemoryStream() Await file.CopyToAsync(stream) Dim fileBytes As Byte() = stream.ToArray() ' 2. Process with IronPDF (Apply Watermark) Dim pdf As New PdfDocument(fileBytes) pdf.ApplyWatermark("<h2 style='color:red'>CONFIDENTIAL</h2>", 60, Editing.VerticalAlignment.Middle, Editing.HorizontalAlignment.Center) ' 3. Define the new file name and path Dim uniqueFileName As String = Guid.NewGuid().ToString() & "_" & file.FileName Dim filePath As String = Path.Combine(_storagePath, uniqueFileName) ' 4. Save the processed bytes to the file system System.IO.File.WriteAllBytes(filePath, pdf.BinaryData) ' 5. Save metadata to the in-memory list (instead of DB) Dim pdfFile As New PdfFileModel With { .Id = _nextId, .FileName = file.FileName, .ContentType = "application/pdf", .FilePath = filePath, ' Store the physical path .UploadedDate = DateTime.Now } _nextId += 1 _pdfFiles.Add(pdfFile) End Using Return RedirectToAction("Index") End Function $vbLabelText $csharpLabel 透かし入りPDF How to Upload and Download PDF Files in ASP .NET C# with IronPDF:イメージ2 - PDFに透かしを入れ、データベースに保存する。 IronPdfのApplyWatermarkメソッドはHTMLコンテンツ、不透明度、回転、整列をサポートします。 また、HTTPリクエストや自動化されたワーカータスクをトリガーとしてレポートを作成する場合にも役立ちます。 ヘッダー、フッター、ページ操作など、PDF編集機能を追加してください。 どのようにデータベースからファイルをダウンロードできますか? データベースに格納されているPDFファイルをダウンロードするには、バイト配列を取得してFileResultとして返すアクションを作成します。 次のコードは、完全なダウンロード機能を示しています: public IActionResult Download(int id) { var pdfFile = _pdfFiles.FirstOrDefault(f => f.Id == id); if (pdfFile == null || !System.IO.File.Exists(pdfFile.FilePath)) return NotFound(); byte[] fileBytes = System.IO.File.ReadAllBytes(pdfFile.FilePath); return File(fileBytes, pdfFile.ContentType, pdfFile.FileName); } public IActionResult Download(int id) { var pdfFile = _pdfFiles.FirstOrDefault(f => f.Id == id); if (pdfFile == null || !System.IO.File.Exists(pdfFile.FilePath)) return NotFound(); byte[] fileBytes = System.IO.File.ReadAllBytes(pdfFile.FilePath); return File(fileBytes, pdfFile.ContentType, pdfFile.FileName); } Public Function Download(id As Integer) As IActionResult Dim pdfFile = _pdfFiles.FirstOrDefault(Function(f) f.Id = id) If pdfFile Is Nothing OrElse Not System.IO.File.Exists(pdfFile.FilePath) Then Return NotFound() End If Dim fileBytes As Byte() = System.IO.File.ReadAllBytes(pdfFile.FilePath) Return File(fileBytes, pdfFile.ContentType, pdfFile.FileName) End Function $vbLabelText $csharpLabel ダウンロードボタン付きPDFファイルの保存 How to Upload and Download PDF Files in ASP .NET C# with IronPDF:画像3 - 保存されているPDFファイルのリスト ダウンロードボタンを表示する場合、エントリを検索したり、詳細を表示したり、クエリまたはフィルタに基づいて結果を出力したりすることができます。 File メソッドは、適切なコンテンツタイプとファイル名を持つバイト配列を返します。 これは、適切なコンテンツ処分ヘッダを持つユーザーのブラウザでダウンロードをトリガーします。 HTMLヘルパーを使用して、ビューにダウンロードボタンを表示します: <table> @foreach (var item in Model) { <tr> <td>@item.FileName</td> <td>@item.UploadedDate</td> <td> <a href="/Pdf/Download/@item.Id">Download</a> </td> </tr> } </table> <table> @foreach (var item in Model) { <tr> <td>@item.FileName</td> <td>@item.UploadedDate</td> <td> <a href="/Pdf/Download/@item.Id">Download</a> </td> </tr> } </table> $vbLabelText $csharpLabel データベース・ストレージの代わりにファイル・システム・ストレージを使用する場合は、ファイルをサーバー・パスに保存し、ファイル・パスだけをデータベース・テーブルに保存します。 PDFドキュメントをオンデマンドで作成およびダウンロードするには? 既存のファイルを保存するだけでなく、IronPDFのHTMLからPDFへの変換を使って、新しいPDFドキュメントを動的に生成することができます。 このアプローチにより、レポート、請求書、証明書をオンデマンドで作成することができます: public IActionResult GeneratePdf() { var renderer = new IronPdf.ChromePdfRenderer(); var PDF = renderer.RenderHtmlAsPdf("<h1>Generated Report</h1><p>Created: " + DateTime.Now + "</p>"); return File(pdf.BinaryData, "application/pdf", "report.pdf"); } public IActionResult GeneratePdf() { var renderer = new IronPdf.ChromePdfRenderer(); var PDF = renderer.RenderHtmlAsPdf("<h1>Generated Report</h1><p>Created: " + DateTime.Now + "</p>"); return File(pdf.BinaryData, "application/pdf", "report.pdf"); } Imports IronPdf Public Function GeneratePdf() As IActionResult Dim renderer As New ChromePdfRenderer() Dim PDF = renderer.RenderHtmlAsPdf("<h1>Generated Report</h1><p>Created: " & DateTime.Now & "</p>") Return File(PDF.BinaryData, "application/pdf", "report.pdf") End Function $vbLabelText $csharpLabel PDFはオンデマンドで生成されます。 How to Upload and Download PDF Files in ASP .NET C# with IronPDF:画像4 - 生成されたサンプルPDF。 ChromePdfRendererクラスは、HTML文字列をピクセルパーフェクトなPDFドキュメントに変換し、CSSスタイリングとJavaScript実行をサポートします。 このメソッドは、生成されたPDFファイルをブラウザに直接返します。 この方法は、デフォルトのストレージを必要とせず、HTTP GETを介して即座にトリガーされます。 無料トライアルを開始して、マージドキュメント、フォーム入力、デジタル署名を含む.NET Core PDFハンドリングのためのIronPDFの全機能をお試しください。 結論 ASP.NET CoreでPDFのアップロードとダウンロード機能を実装するには、標準的なファイルハンドリング技術とIronPDFの高度な処理機能を組み合わせます。 透かしを入れ、PDFファイルを生成し、保存し、提供する機能により、アプリケーションはより堅牢で使いやすくなります。 ドキュメントのマージ、メタデータの追加、フォームへの入力、インタラクティブなコンテンツの生成など、さらなる機能を統合することができます。 IronPDFのリファレンスドキュメンテーションをご覧になるか、ブログで新しいチュートリアルをご覧ください。 あなたのコードに次のようなエラーの問題がありますか? 役に立つトラブルシューティング ガイドをチェックしてください。 高度なPDF機能でASP.NET Coreアプリケーションを強化する準備はできましたか? IronPDFライセンスを購入するか、豊富なドキュメントで追加情報を得るか、私たちのチームとチャットするか、特定のプロジェクト要件についてガイダンスを受けてください。 よくある質問 ASP.NET Core MVCアプリケーションでPDFファイルをアップロードする方法を教えてください。 ASP.NET Core MVCアプリケーションでPDFファイルをアップロードするには、IFormFileインターフェースを使用してフォームからファイルデータを取り込み、保存する前にサーバーサイドで処理します。 ASP.NETでPDFファイルをダウンロードする最良の方法は何ですか? ASP.NETでPDFファイルをダウンロードする最良の方法は、コントローラでFileResultアクションを使用することです。IronPDFはPDFをサーバーサイドで生成、修正し、ダウンロードできるようにします。 ASP.NETを使ってPDFファイルをデータベースに保存できますか? はい、ファイルをバイト配列に変換し、バイナリラージオブジェクト(BLOB)として保存することで、ASP.NETを使ってPDFファイルをデータベースに保存することができます。IronPdfは保存前にPDFを処理するのに役立ちます。 IronPdfはASP.NETでPDFに透かしを入れる際にどのように役立ちますか? IronPDFはPDFにテキストや画像の透かしを簡単に追加する機能を提供し、ASP.NETアプリケーションに統合して、ダウンロードや保存の前にドキュメントを変更することができます。 PDFストレージにEF Coreを使用する利点は何ですか? EF Coreは、効率的なオブジェクトリレーショナルマッピングを可能にし、ASP.NETアプリケーション内でPDFの保存と検索を構造化されたスケーラブルな方法で管理することを容易にします。 ASP.NETアプリケーションでPDFコンテンツを操作することは可能ですか? IronPdfを使えば、テキスト、画像、メタデータの編集を含むPDFコンテンツの操作が可能です。 ASP.NETでファイルアップロードを安全に処理するには? ASP.NETでファイルアップロードを安全に処理するには、ファイルタイプを検証し、ファイルサイズを制限し、安全な場所に保存する必要があります。IronPDFのようなライブラリを使用することで、PDFファイル自体の整合性を確保することもできます。 WebアプリケーションでPDFを扱う場合の一般的な課題は何ですか? よくある課題には、ファイルの互換性の確保、大きなファイルサイズの管理、文書の整合性の維持などがあります。IronPDFはPDFの作成と操作のための堅牢なツールを提供することで、これらを克服するお手伝いをします。 ASP.NETで異なるファイルタイプをPDFに変換できますか? はい、IronPDFはHTMLや画像ファイルのような様々なファイルタイプをASP.NETアプリケーション内でシームレスにPDFに変換することができます。 ASP.NETでPDFを扱う際のModel-View-Controller(MVC)の役割とは? MVCパターンは、データ処理(Model)、ユーザーインターフェース(View)、アプリケーションロジック(Controller)を分離することで、PDFを扱うコードを整理するのに役立ち、PDFの機能管理と拡張を容易にします。 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 関連する記事 更新日 2026年1月22日 .NETでIronPDFを使ってPDFドキュメントを作成する方法:完全ガイド C#で開発者向けにPDFファイルを作成する効果的な方法を発見します。コーディングスキルを向上させ、プロジェクトを効率化します。この記事を今すぐお読みください! 詳しく読む 更新日 2026年1月21日 VB.NETでPDFファイルをマージする方法:完全なチュートリアル IronPDF で PDF をマージします。シンプルな VB.NET コードを使用して、複数の PDF ファイルを1つのドキュメントに結合する方法を学びます。ステップバイステップの例が含まれています。 詳しく読む 更新日 2026年1月21日 C# PDFWriter チュートリアル:.NETでPDFドキュメントを作成する このステップバイステップガイドで開発者がC# PDFWriterを使用してPDFを効率的に作成する方法を学びます。記事を読んでスキルを向上させましょう! 詳しく読む IronPDFを使ってC#から生成されたPDFファイルをメールに添付して送信する方法クラシックASP HTMLからPDFを...
更新日 2026年1月22日 .NETでIronPDFを使ってPDFドキュメントを作成する方法:完全ガイド C#で開発者向けにPDFファイルを作成する効果的な方法を発見します。コーディングスキルを向上させ、プロジェクトを効率化します。この記事を今すぐお読みください! 詳しく読む
更新日 2026年1月21日 VB.NETでPDFファイルをマージする方法:完全なチュートリアル IronPDF で PDF をマージします。シンプルな VB.NET コードを使用して、複数の PDF ファイルを1つのドキュメントに結合する方法を学びます。ステップバイステップの例が含まれています。 詳しく読む
更新日 2026年1月21日 C# PDFWriter チュートリアル:.NETでPDFドキュメントを作成する このステップバイステップガイドで開発者がC# PDFWriterを使用してPDFを効率的に作成する方法を学びます。記事を読んでスキルを向上させましょう! 詳しく読む