*

[C#]C#でPDFファイルを画像(System.Drawing.Image)にする

公開日: : 最終更新日:2015/01/15 .NET, C#, プログラミング

PDFを画像に

PDFファイルを読み込んで、画像にする必要があったんです。
インターネットで調べても、画像をPDFにする方法ばかり。

準備

必要なもの

GhostScriptとMagick.netを利用します。
本当はサードパーティ製品をインストールしないでdllで利用できるのが理想でしたが、gsdll32.dllのパラメータなどが非常に面倒。(参照設定では参照できないので)
ここら辺を参考にすればたぶんdllで利用できるかもしれません->http://sunaolabo.blog32.fc2.com/blog-entry-43.html

そういうわけで今回は断念して、GhostScriptをインストールさせます。

GhostScript

まずはGhostScriptをダウンロードしてインストール。
こちらのURLからWindowsなら.exeのファイルをダウンロードして、インストールするだけです。
http://sourceforge.jp/projects/sfnet_ghostscript/releases/

Magick.NET

NuGetパッケージからインストールします。
プロジェクトの参照設定を右クリックして、NuGetパッケージの管理をクリックします。
NuGet visual studio

左ベインのオンラインを選択して、右上の検索ボックスに「Magick.NET」と入力して検索。
出てきたMagick.NET-Q~を選択し、インストールします。
Magick .NET

ちなみにQ8とQ16の違いは
Q8:1チャンネル当たり8ビット、RGB3チャンネル合わせて24ビット(アルファチャンネルを含めると32ビット)で内部処理を行います。
Q16:RGB3チャンネル合わせて48ビット(アルファチャンネルを含めると64ビット)で内部処理を行います。

上記の意味がわからなければQ8にしておけばいいんじゃないでしょうか。

コーディング

コード自体は非常にシンプルなものになります。

コード

using ImageMagick;
/*
 省略
 */
private System.Drawing.Image GetImageFromPdf(string filePath){
	ImageMagick.MagickImage image = new MagickImage(filePath);
	return image.ToBitmap();
}

解説

解説するほどの内容でもありませんが、System.Drawing.ImageとしてPDFなどを得ることが出来るので.NETで非常に扱いやすくなります。

ad

関連記事

Unity_

[Unity]Unity4.6 UIチュートリアル Lesson6.UI Events and Event Triggers 日本語要約

前回の続き。 ついにずっと画面で見えていた謎のEventSystemに触れます。 なんか

記事を読む

logo

[C#]文字列のプロパティを初期化したい。空文字で初期化したい。

Twitterで適当に叫んでたときのネタをメモ。 C#でプロパティの初期化が面倒です。 たと

記事を読む

cwbx.dll 参照の追加

[C#,AS400]C#でAS400のプログラムCallとコマンドの実行方法。

PCのプログラムからCall AS400のRPGPGMをPCから呼び出ししたいときがあります。

記事を読む

logo

[C#, Generic]UnityのAddComponentとかなんとかComponentを実装してみる

UnityのAddComponentってありますよね。 みたいなやつ。 このジェネリクスの

記事を読む

Unity_

[Unity]Unity2Dでパズドラのようにタイルを動かす

今回からスクリプトがかなり難しくなってくるかも。 前回の続き。 というわけで前回はドラッグで

記事を読む

TeamFoundation

[TFS]Team Foundation Server Express構築手順

Team Foundation Server Express構築のときの手順です。 うちでは今のと

記事を読む

Unity_

[Unity]Unity2Dチュートリアル 画面上のGameObjectを左下から取得する

前回、画面上のオブジェクトを一括で手に入れる方法はわかりました。 しかし、これではどのオブジェクト

記事を読む

logo

[C#]AS400に対してODBC接続でトランザクションによりSQLを実行する。

データベースに対するトランザクション処理 と銘打ちましたが、要するに安全にinsert文などを実行

記事を読む

unity move

[Unity]コードリファレンス GameObjectを移動する。

移動します。 transformプロパティ GameObjectのtransformプロパテ

記事を読む

unity rotate worldpoint

[Unity]コードリファレンス GameObjectを回転する。

くるくる回します。 rotationプロパティ Objectの向きをワールド座標で指定します

記事を読む

ad

Message

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

ad

  •  Auther;わなび

     「オープン系得意だよね? 俺のPCの調子悪いんだけど」という無茶振りから解き放たれゲームエンジニアに。
    C#とかUnityを扱います。
    Twitterフォロー大歓迎です。
    githubアカウント→wannabenote
  • follow us in feedly
PAGE TOP ↑