.NET Core Web APIでPDFファイルをローカルフォルダに保存する方法


  1. ファイルストリームを使用して保存する方法:
[HttpPost]
public async Task<IActionResult> SavePdfFile(IFormFile file)
{
    if (file == null || file.Length == 0)
    {
        return BadRequest("ファイルがアップロードされていません。");
    }
    var filePath = Path.Combine(Directory.GetCurrentDirectory(), "保存先フォルダのパス", file.FileName);
    using (var stream = new FileStream(filePath, FileMode.Create))
    {
        await file.CopyToAsync(stream);
    }
    return Ok("ファイルが正常に保存されました。");
}
  1. ライブラリを使用して保存する方法:

PdfSharpというPDF処理ライブラリを使用する場合、NuGetパッケージ「PdfSharpCore」をインストールしてください。

using PdfSharpCore.Pdf;
using PdfSharpCore.Drawing;
[HttpPost]
public IActionResult SavePdfFile()
{
    var document = new PdfDocument();
    var page = document.AddPage();
    var gfx = XGraphics.FromPdfPage(page);
    // PDFに描画するコードを記述
    var filePath = Path.Combine(Directory.GetCurrentDirectory(), "保存先フォルダのパス", "ファイル名.pdf");
    document.Save(filePath);
    return Ok("ファイルが正常に保存されました。");
}
  1. サードパーティのライブラリを使用して保存する方法:

iTextSharpというPDF処理ライブラリを使用する場合、NuGetパッケージ「iTextSharp」をインストールしてください。

using iTextSharp.text;
using iTextSharp.text.pdf;
[HttpPost]
public IActionResult SavePdfFile()
{
    var document = new Document();
    var filePath = Path.Combine(Directory.GetCurrentDirectory(), "保存先フォルダのパス", "ファイル名.pdf");
    var writer = PdfWriter.GetInstance(document, new FileStream(filePath, FileMode.Create));
    document.Open();
    // PDFに描画するコードを記述
    document.Close();
    return Ok("ファイルが正常に保存されました。");
}

これらは、.NET Core Web APIでPDFファイルをローカルフォルダに保存するためのいくつかの方法です。お好みの方法を選択して、必要に応じてカスタマイズしてください。