1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

.NETでPDFを読み込み画像化する。Dockerでも

Last updated at Posted at 2025-05-21

目的

.NET(C#)でバックエンドを開発。その中でPDFを画像化ための記事です

PDFを読み込み画像化、線などを描画し保存するには、ライブラリの選定が必要です。
本記事ではサーバ動作に必須なMemoryStreamで扱えるように試しています。

一見Windows上で動作しているプログラムでもDockerのコンテナ上で動くとは限りません。
特にSystem.Drawingはコンテナ(asp.net core)では動作ないためです。

上記の制限をクリアするためライブラリを探した結果

  • PDFtoImage
  • SkiaSharp

を使うことで動作します。

動作するサンプル

dockerでの動作

build

Dockerfileがあるディレクトリで下記のコマンドでビルドしてください

docker build -t pdfdraw .

run

docker run --rm -it -e PDF_FILE_NAME=RAG.pdf -e OUTPUT_DIR=/output -v {ホスト側PDFがあるフォルダ名}:/pdf -v {ホスト側PDFを出力するフォルダ名}:/output pdfdraw

例:

docker run --rm -it -e PDF_FILE_NAME=RAG.pdf -e OUTPUT_DIR=/output -v c:\pdf:/pdf -v c:\output:/output pdfdraw

流れ

終わりに

描画系はDockerでは特にハマりやすいので、簡単なプログラムを作り、まずDockerで実行し動作確認をするのが重要だと感じました

いいねください!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?