none
PDFのページ全体を画像に変換したい(ラスタライズ) RRS feed

  • 質問


  • PDFのページ全体を画像に変換したいのですが、下記の条件に合うライブラリをご存知でしょうか?

    -----------------------------------------------------------

    ■開発環境:Visual Studio 2017 Express for Windows

    ■アプリケーションの種類:Windows フォーム アプリケーション

    ■開発言語:Visual Basic

    ■ターゲットフレームワーク:.NET Framework 4.5.2

    ■動作環境(Windows):Windows7、8.1、10

    ■動作環境(macOS):Mono 5.2.0.224+Mac OS X 10.7 Lion以降

    ■PDFライブラリ:PDFのページを画像にラスタライズできるもの。無料。

    -----------------------------

    すでに試して要件を満たしていなかったもの

    ・「Pdfium Viewer」 macOSで動作しない

    ・「PDFLibNet.dll」 macOSで動作しない

    ・「PDF Clown」 ラスタライズするクラスはあるが、まだ未実装のようで白い画像しか出力されない

    -----------------------------

    以上、どうぞよろしくお願い申し上げます。

    (この質問がいつまでも一覧に表示されないため、再投稿いたしました。)

    2018年6月9日 6:47

すべての返信

  • ※PDFの話ではありません。

    Windows Forms アプリはMac OS では動作しません(将来動作するようになる予定も現時点ではないと思います)。

    Mac環境で動作する .NET アプリを作るとしたら、Xamarin.Mac を使う or .NET Core でコンソールベースで作成する。

    となりますが、VBを言語にする場合、Xamarin.Macは対応していないんじゃないかな?という気がします(調べてないのでもしかしたら今は対応してるかもしれません)。

    いずれにしても、Mac と Windows の両方を対象にする場合、.NET Core ベースのコンソールアプリ(現在2.1が最新)とするか、WinとMacで別建てでプログラムを作るか(ソースレベルも含めて共有はかなり難しい)のどちらかになると思います。


    とっちゃん@わんくま同盟, Visual Studio and Development Technologies http://blogs.wankuma.com/tocchann/default.aspx

    2018年6月11日 7:57
  • コメントありがとうございます。

    >Windows Forms アプリはMac OS では動作しません(将来動作するようになる予定も現時点ではないと思います)。

    MonoはWPFには対応していませんが、Windows Fromsはかなり以前から動作します。色々不具合は抱えていますが。

    Visual Studio 2017 Express for Windows Desktop で.NET Framwork 4.5.2でコンパイルした.exeファイルをMonoをインストールしたmacOS Sierra, High Sierraで動作する事を確認しています。

    また、こちらのMonoのサイトでも対応している事が記載されています。

    https://www.mono-project.com/docs/gui/winforms/

    2018年6月11日 12:07
  • 正確には「Microsoft の Windows Forms」ではなく、「Mono の Windows Forms のクローン」ですね。
    なので、Windows Forms が動くという言い方は誤解を招くかと思います。

    なお、クローン実装なので一部の機能は実装されていないなどの制限があります。
    「いろいろと不具合」の部分にどこまで含んでいるのかわかりませんが、「実装されていない(仕様)」と「不具合」は切り分けておいた方が良いでしょう。

    さて、表題の目的を達するためには「PDF を操作でき、かつ純粋にマネージで実装されているライブラリ」を見つけなければなりません。
    しかも、Win32API に依存していないことが前提となるので、なかなか狭き道だと思います。
    この製品 は MONO というキーワードが出ているので可能性はあるかもしれませんが、私は試していません。


    (無料で…とか限定されるのであれば、ご自身で Mono とか、Cross platform とか、キーワードを絡めて探した方が良いでしょう。それで見つからないのであれば「ない」と言って差し支えありません)
    2018年6月11日 13:46
    モデレータ
  • Azuleanさま

    コメントいただきありがとうございます。

    WindowsのVisual Studioでビルドした「Windows フォーム アプリケーション」がMonoをインストールした環境で動作するという意味で述べましたが「完璧に」動作するという意図は込めておりません。誤解を招く表現であればお詫び申し上げます。


    また、MonoはWindows Formsの一部機能を実装していない事も承知しております。(System.Drawing 2.0 - Does not support right-to-left)という記述もありました。しかしながら、仕様なのか不具合なのかすべてを把握しているわけではありませんので、可能な範囲で判断をしながら開発するように致します。ありがとうございます。

    >この製品 は MONO というキーワードが出ているので可能性はあるかもしれませんが、私は試していません。

    私もMONOに対応しているという記載のあるPDF Rendererをいくつか見かけましたが、そういうものは今のところ有料のものしか見つかっておりません。

    itextSharpをMONOで実行していますが私が使用した範囲内では問題が起きておりません。iTextSharpのようなライブラリがMONOで動作するのであれば、PDFのRendererもあるのではないかと思い探しておりました。しかしながら、少々都合が良すぎたかもしれませんね。


    • 編集済み VB User1 2018年6月11日 14:46
    2018年6月11日 14:43
  • CairoのPopplerあたりは、NativeだけどMacでもWindowsでも動くので、
    そういうのを(インストールしてもらってor添付して)呼び出せばいいんじゃないですかね。

    jzkey

    2018年6月11日 22:28
  • jzkeyさま

    ありがとうございます。Popplerというのを調べてみようと思います。

    2018年6月12日 10:39