*

[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

関連記事

logo

[C#, AS400]列挙体の文字列化&DB2/400にODBC接続

定数をなるべく書きたくないんです。 あとからメンテをするときに複数箇所変更しなくてはいけないから。

記事を読む

logo

[C#]XML Serializerで読み書き

XML XMLを触りたいので適当にメモ書き 書き出し using System.IO;

記事を読む

unity

[Unity]コードリファレンス GameObjectの検索と削除

検索ですので、検索対象となるCubeでも適当に置いておきます。 GameObject.

記事を読む

Unity_

[Unity]Unity2Dチュートリアル スプライトを利用する その2

前回で、タイルを置いて、全部消えちまうじゃねぇか! 色一個一個つけるのめんどくせぇ!! というところ

記事を読む

Wannabenote

[Unity]Unity2Dチュートリアル パズルを落下させる。

前回の続き。 とりあえず、パズルが消えたので、パズルを落としましょう。 以下のようにソースを

記事を読む

logo

[C#,Access]microsoft AccessにODBC接続する

「client AccessのODBC」というタイトルのために、AccessのODBC接続を知りたく

記事を読む

logo

[C#]別のソリューションのクラスをSerializeしたい。参照設定とかいじらずに。

すごいニッチ。 こんなソリューションがあるとして、 こっちのソリューションで

記事を読む

logo

[Unity]GameObject.Findは遅い

遅いらしいです。 なので、マネージャークラスを作りましょう、というのが風潮らしいです。 マネージ

記事を読む

logo

プログラミング概論 導入

プログラミングは基礎から覚えた私ですので、やはり基礎から書いていきます。 よくプログラミングのサイ

記事を読む

unity

[Unity]コードリファレンス GameObjectを親子関係にする。

親子関係にして、親が動いたら子も動くような動きをさせます。 transform.parentプ

記事を読む

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 ↑