PDF Viewer SDKよくいただくご質問
動作/開発環境について
-
「PDF Viewer API」は Visual C++ から利用できますか?
-
はい。
C++とCのAPIを用意しております。※Cからは一部利用できないAPIがございます。
-
「PDF Viewer API」は Visual C# や VB.Net で利用できますか?
-
- V5.0以降
はい。.NET Framework および .NET用のAPIを用意しています。 - V3.5 / V4.0
はい。プラットフォーム呼び出し(P/Invoke)をご利用いただくことで、 C言語 APIを呼び出すことができます。
P/Invoke呼び出しを行うラッパーコードはお客様にてご用意ください。表示・画像出力・テキスト抽出・検索・印刷の主な機能について、サンプルコードをご用意しております。
- V5.0以降
-
「PDF Viewer Ctrl」は .NET Framework 3.5/2.0 で利用できますか?
-
いいえ、できません。
- V5.0以降
.NET Framework 4.6.2 以上をご利用ください。 - V3.5/V4.0
.NET Framework 4.0 以上をご利用ください。
- V5.0以降
-
「PDF Viewer Ctrl」は.NET Framework 対応言語以外で利用できますか?
-
- V5.0以前
はい。ActiveX に対応した言語で開発できます。ただし V6より廃止されますのでご注意ください。
なお弊社では Visual C# で動作確認しております。
- V6.0
ActiveXは廃止されました。
- V5.0以前
-
WPFアプリケーションの開発はできますか?
-
はい。
WindowsFormHostを利用して、WindowsフォームのコントロールをWPFアプリケーション上に配置できます。
WPF での、XAML を使用した Windows フォーム コントロールのホスト
https://docs.microsoft.com/ja-jp/dotnet/desktop/wpf/advanced/walkthrough-hosting-a-windows-forms-control-in-wpf?view=netframeworkdesktop-4.8
-
PDF表示・印刷する同一のアプリケーションを複数同時起動しても、問題ないでしょうか?
-
はい、問題ありません。
「PDF Viewer API」「PDF Viewer Ctrl」どちらもマルチプロセスでの利用に対応しております。
-
マルチスレッドで利用することはできますか?
-
「PDF Viewer API」印刷関連のAPIを除き、マルチスレッドに対応しています。
「PDF Viewer Ctrl」マルチスレッドでの利用には対応しておりません。
-
コマンドラインプログラムから利用できますか?
-
「PDF Viewer API」 は利用可能です。
「PDF Viewer Ctrl」 はGUIを前提としているため利用できません。
-
サービスやタスクスケジューラから利用できますか?
-
「PDF Viewer API」 は利用可能です。
「PDF Viewer Ctrl」 は利用できません。 GUI を前提として開発しております。
-
Adobe Acrobat Reader/Adobe Acrobat は必要ですか?
-
いいえ、必要ありません。
弊社独自のPDF表示機能を実装しております。
-
64ビットOS環境で 32ビット版を使用してもよいですか?
-
はい。
32ビット版について、WOW64上での動作を保証しております。
-
.NET Core 3.1/.NET5~8 に対応していますか?
-
一部のバージョンについて対応しています。
- V5.0 .NET6
- V6.0 .NET6 / .NET8
今後の長期サポート (LTS) のバージョンについては対応を予定しておりますが、
標準期間サポート (STS) のバージョンは、対応予定はありません。
-
実行する環境により表示結果が変わることがありますか?
-
フォントが埋め込まれていないPDFをレンダリングする場合、環境にインストールされたフォントによって表示や画像出力の結果がかわる場合があります。
メモリが少ない場合は、大きな画像のロードに失敗し、ページ上の画像が表示されないことがあります。
-
PDFのバージョンに制限はありますか?今後、バージョンが変更された場合の対応はどうなりますか?
-
- V5.0以降
PDF1.3~PDF1.7、PDF2.0を開くことができます。 - V3.5/V4.0
PDF1.3~PDF1.7を開くことができます。
PDF1.3以降が対象ですが、現在流通しているPDFファイルのバージョンは PDF1.3以降がほとんどですので、問題ないかと思います。
新しいバージョンが出た場合は、随時対応していきます。最新のPDF2.0のファイルもオープン可能です(V5)。 - V5.0以降
-
本製品ではJavaランタイムを使用していますか?
-
いいえ、使用しておりません。
-
本製品で使用するポート番号はありますか?
-
いいえ、ありません。
-
IE11のプラグインとしてPDFViewerを開発することはできますか?
-
V5.0 では ActiveX版を使用して開発をすることができます。
ただし、ActiveX版は V6.0 で廃止となっておりますので、ご注意ください。
-
VS2012での利用方法、またはサンプル等はありますか?
-
すでにマイクロソフト社のサポートが終了した開発環境はサポートを行っておりません。 VS2019またはVS2022でのご利用をご検討ください。
-
BOXなどクラウドサービスで保存されたPDFを開くことができますか?
-
ローカルの同期フォルダなどに保存されたPDFであれば開く事は可能ですが、クラウドサービスとの連携機能は弊社SDKにはございません。
クラウドサービスと連携した認証やファイル同期の排他制御など特別な処理は行いません。そのような処理が必要な場合は上位アプリケーションで何らかの制御する必要があります。例えば、オープン中のファイルに対してクラウドサービスが同期を行う場合、再オープンしないと最新の状態が反映されなかったり、弊社SDKで編集中に同期が行えない等の事象が考えられます。オープンや編集前にローカルの一時フォルダなどにコピーしてオープンや編集をおこなうなど上位アプリケーションでの管理が必要になる可能性があります。
機能について
-
Visual Studio のコントロールのようにPDFビューアーコンポーネントを開発アプリに組み込みたい。
-
「PDF Viewer Ctrl」をご利用ください。
フォームデザイナー上でPDFビューアーコントロールをレイアウトして、 Windows フォームアプリケーションを開発できます。
-
PDFファイルを自動印刷するコマンドラインプログラムを開発したい。
-
「PDF Viewer API」 をご利用ください。
PDFファイルを表示することなく印刷するコマンドラインアプリケーションを開発できます。
-
帳票PDF等から指定した矩形内のテキストを抽出できますか?
-
はい、可能です。
PDF表示をしながらテキスト抽出したい場合は「PDF Viewer Ctrl 」を、GUIを表示せず、コマンドラインアプリケーションからテキスト抽出をしたい場合は「PDF Viewer API」 をご利用ください。
-
PDFページ内に矩形を指定して、矩形内を画像へ変換できますか?また、変換した画像をメモリに出力できますか?
-
はい、可能です。
「PDF Viewer API」「PDF Viewer API」どちらでも、ページ全体や指定した矩形内を画像へ変換できます。
メモリへの出力は「PDF Viewer API」でのみ可能です。
-
文字列の検索はできますか?
-
はい、可能です。
前方検索・後方検索、大文字小文字の区別などを指定できます。
-
文字列検索後にヒットした文字列の領域を取得できますか?
-
はい、可能です。
「PDF Viewer API」 をご利用ください。
-
PDF ファイルを検索するために、テキスト抽出、ならびに文字単位での座標を抽出することはできますか?
-
はい、可能です。
PDFページに記載された順序で、テキストや文字の矩形情報を取得できます。
なお、テキスト検索とヒットしたキーワードのハイライト機能も搭載しております。
-
PDF Viewer Ctrl で選択中のテキストを取得することはできますか?
-
- V5.0以降
はい。SelectedTextStringプロパティで取得できます。 - V3.5/V4.0
いいえ。
- V5.0以降
-
Windows フォーム 上のコントロールの表示サイズを、PDFを表示したまま、開発プログラムから変更できますか?
-
はい、可能です。
-
「PDF Viewer Ctrl」を使用したアプリケーションで任意の位置へのズームとパンはプログラムで制御可能でしょうか?
-
はい、可能です。
・ZoomRatio プロパティを設定し、指定された倍率で表示します。
・ScrollToPosition メソッドで、指定ページの指定座標(x,y)へ移動します。
座標は PDFページ上の論理座標になります。
アプリケーションウィンドウ上の座標との変換関数も用意しています。
-
アプリケーションから以下を行いたいのですが、可能でしょうか?
・注釈オブジェクトを選択
・選択した注釈オブジェクト情報(XY座標)を取得
・テキストボックス、円、四角、楕円、折れ線注釈の表示
・ノート注釈の作成 -
はい、すべて可能です。
「PDF View Ctrl」には注釈を作成・編集するメソッドを用意しております。
-
マウスのクリック等のイベントハンドラを利用できるでしょうか?
クリック、ダブルクリック、ドラッグ、右クリック、この時、クリックされた位置(座標)を取得したいです。 -
はい、可能です。
「PDF View Ctrl」のPDFPageViewCtrlに、それらを扱うイベントを用意しています。
座標はイベントハンドラの引数として取得できます。
-
PDFPageViewCtrlを読み取り専用にすることはできますか?
-
はい、可能です。
CtrlStyle プロパティにプレビューモードを指定してください。
編集不可、テキスト選択不可、注釈選択不可、ポップアップ注釈非表示にできます。
-
ファイルダイアログでの[ファイルを開く]、[ファイルの保存]等の操作をさせたくないのですが、「PDF Viewer Ctrl」 でそのような制御は可能でしょうか?
-
はい、可能です。
ファイルダイアログを表示するかどうかはアプリケーション側の処理になりますので、ダイアログを表示せず、ファイルパスを指定してPDFファイルをオープンしていただければ結構です。
-
サロゲート文字に対応していますか?
-
はい、対応しています。
-
PDFのリンク先の情報は取れますか?
-
はい、取得できます。
「PDF Viewer API」では、リンク注釈のヒットテストとリンク種別の取得、リンク注釈の矩形取得、リンクの移動先ページやURIの取得ができます。
「PDF Viewer Ctrl」では、リンク注釈クリックのタイミングでイベントが通知されます。イベントハンドラでリンク種別やリンクの移動先ページやURIの取得ができます。
-
パスワード付きPDFの表示は出来ますか?
-
はい、表示できます。
ファイルオープン時に正しいパスワードをセットしてください。
-
動画が組み込まれたPDFの場合、動画を再生できますか?
-
いいえ。
動画、音声などのマルチメディアの再生には対応しておりません。
-
PDF/A に対応していますか?
-
いいえ。
PDFファイルをオープンして表示することはできますが、カラーが正しく表示されない場合があります。
-
JavaScriptを利用して閲覧制限をかけたPDFを表示することはできますか?
-
弊社の「PDF Tool API」で閲覧制限をかけたPDFファイルは表示できます。 一般のJavaScriptを使った閲覧制限つきのPDFファイルは表示できません。
-
日本語などの表示に文字化け等は発生しますか? Adobe Acrobat Readerで表示した場合と同じものが表示されますか?
-
- フォントが埋め込まれたPDFファイル
PDFファイルが正しく作成されていれば文字化けが発生することはありません。 - フォントが埋め込まれていないPDF
PDF作成時のフォントが表示環境にない場合、稀に文字化けや文字のレイアウトが起こる可能性はあります。これはフォントがないと別のフォントを割り当てるため(代替フォント)、必要な文字がなかったり文字幅の異なるグリフを使って、表示をおこなうためです。
フォントがない場合の代替フォントの選び方はPDF仕様では規定されておらず、PDFリーダーの実装依存になります。このため、Adobe Acrobat Readerなど他のPDFリーダーと必ずしも同一の表示になりません。
- フォントが埋め込まれたPDFファイル
-
「PDF Viewer SDK」では Adobe Acrobat Readerデフォルトのフォントを利用可能でしょうか?
-
いいえ。
Adobe Acrobat Reader のデフォルトのフォントは Adobe Acrobat Reader が独自に管理しているものです。「PDF Vewer SDK」からは利用できません。
-
Windows OSにインストールされたフォントを参照する際、置換先のフォントを指定することは可能でしょうか。
-
はい。
フォントが埋め込まれていない場合に、指定されたフォントが見つからない場合の代替フォントを指定することができます。代替フォントは明朝体、ゴシック体の2種類のフォントが指定できます。個別のフォントごとに代替フォントを指定する事はできません。
-
一時ファイルは作成されますか?
-
「PDF Viewer API」は作成しません。
「PDF Viewer Ctrl」は作成します。
-
PDFバージョンによって表示速度に影響が出ることがありますか?
-
同じ内容のPDFファイルであれば、PDFバージョンを変えただけでは速度に違いはありません。
PDFバージョンが上がると利用できる機能が増えるので、表示が遅くなることはない訳ではないですが、 それはバージョンというよりPDFファイルの内容によるものです。バージョンについてはあまり気にされる必要はないと思います。
-
サンプルアプリケーションには、保存ボタンや、各種編集ボタンなどが用意されていますが、
・文書を改変・改ざんされたくない。
・復号化された状態でPDF保存されたくない。(文書の外部流出防止)
ので、編集・保存関連の機能は、ボタン・メニューを出さないようにできますか? -
はい、可能です。
・保存ボタンや、各種編集ボタンはサンプルプログラムで用意してるものです。開発するアプリケーションには付けないようにする事ができます。
ご参考)オープンボタンだけのサンプル
http://blog.antenna.co.jp/ILSoft2/archives/1873
http://blog.antenna.co.jp/ILSoft2/archives/1885
・PDFページ表示コントロールの CtrlStyleプロパティを設定することで、編集不可、テキスト選択不可、注釈選択不可、ポップアップ注釈非表示にできます。
-
「PDF Viewer Ctrl」が表示しているPDF文書を全選択してコピーすることを禁止できますか?
-
はい、可能です。
PDFページ表示コントロールの CtrlStyleプロパティを設定することで、編集不可、テキスト選択不可、注釈選択不可、ポップアップ注釈非表示にできます。
PDFページに埋め込まれた、図形や画像は元々コピーする機能がありません。
-
PDFを保存するときのバージョンは指定できますか?
-
いいえ。
元のPDFバージョンや暗号化など設定した内容によって、保存しるPDFファイルのバージョンを決定しています。
-
PDFの表示領域はどの範囲になりますか?
-
ページのMediaBoxとCropBoxでクリップされた範囲が表示されます。
-
タイムスタンプの印鑑画像が添付されているPDFのページ画像を生成できますか?
-
はい。
「PDF Viewer API」で可能です。【V5.0以降】
-
PDFのしおりに対応できますか?しおりを表示できますか?
-
はい。対応しています。【V5.0以降】
「PDF Viewer Ctrl」のPDFOullineCtrl でしおりを表示できます。
しおりを選択すると該当ページに移動するなどのアクションを実行できます。
-
拡張子PDFをAdobe Acrobat Readerに関連付けしています。 「PDF Viewer Ctrl」を利用したアプリケーションを端末に導後もPDFの閲覧は、Adobe Acrobat Readerを利用したいのですが、 競合等の不都合が生じることはありますか?
-
いいえ、問題ありません。
「PDF Viewer Ctrl」が拡張子PDFの関連付けを行うことはありません。
-
スタンプにセットする画像を指定することは可能でしょうか?
-
はい。
「PDF Viewer Ctrl」で可能です。【V6.0以降】
スタンプは V6.0 以降で作成や編集が可能です。スタンプへセットする画像を指定するには「PDF Viewer Ctrl」AvsDotNetGuiCtl.AvsObjectの FileBinプロパティを使用してください。
-
現在のスクロール位置を取得するメソッドはありますでしょうか?
-
はい。
「PDF Viewer Ctrl」で可能です。【V6.0以降】
現在のスクロール位置をクライアント座標として取得する DeviceScrollPosition プロパティ、論理座標として取得する ScrollPosition プロパティがございます。
印刷について
-
アプリケーションから印刷設定ダイアログ等のGUI表示なしにPDF印刷は可能でしょうか。
-
「PDF Viewer API」はGUI表示なしで印刷できます。
「PDF Viewer Ctrl」は印刷ダイアログを表示せずAPIから印刷できますが、印刷ステータスのダイアログは表示されます。またGUIアプリケーションが前提です。
-
Adobe Acrobat Reader を使わないでPDFを直接印刷(プリンタ出力)したいのですが、『PDF Viewer SDK』でできますか?
-
はい。
独自に弊社独自のレンダリングエンジンを開発しておりますので、Adobe Acrobat Readerを利用することなく、印刷が可能です。
-
Adobe Acrobat Reader からプリンタに印刷した場合と印刷結果は異なりますか?
-
一般的にはほぼ同等の結果となります。
PDFファイルや印刷するプリンタによっては、必ずしも一致しない場合があります。
弊社独自のレンダリングエンジンを使用しておりますので、他社のPDFリーダーとまったく同一になることは保証しておりません。
評価版をご用意しておりますので、事前に印刷結果をご確認ください。
https://www.antenna.co.jp/pdfviewersdk/trial.html
-
プリンタの用紙サイズに合わせて、PDFの用紙を縮小して印刷できますか?
-
はい。
「PDF Viewer API」「PDF Viewer Ctrl」 どちらでも縮小して印刷することができます。
-
ページを正しく印刷できない場合に取り消せますか? もしくは事前にチェックできますか?
-
いいえ。
途中で取り消したり、事前にチェックすることはできません。
印刷できないデータがあるなどの理由でエラーが発生した場合は、出来る限りエラーを無視して印刷を継続します。
-
印刷時に「複写禁止」などの透かしを入れることはできますか?
-
はい、可能です。
「PDF Viewer API」 の setWatermarkText メソッドをご利用ください。
-
PDFファイルを指定して、またフォルダを指定して一括印刷することはできますか?
-
PDFファイルを指定して印刷できます。
フォルダを指定して一括印刷することはできませんが、
アプリケーション側でフォルダ以下のPDFファイルを順に指定して頂くことで実現は可能です。
-
PDFファイルを複数ファイル同時印刷できますか?
-
はい。
マルチプロセスで複数ファイルを同時印刷できます。
マルチスレッドでの同時印刷には対応しておりません。
-
フォルダ監視をして自動で印刷することはできますか?
-
いいえ。
フォルダ監視機能はございません。アプリケーション側で対応することで、「PDF Viewer API」を使用してそのようなシステムを開発することは可能です。
-
プリンタドライバの設定を反映させて 印刷を実行することはできますか?
-
設定内容によりますが、可能です。
「PDF Vewier API」では上位アプリケーションからDEVMODE構造体とプリンタのデバイスコンテキストを印刷開始APIに渡して印刷開始を行いますので、 通常の Windows の印刷アプリケーションと同様に、プリンタの設定を反映して印刷することができます。
また印刷開始APIで用紙へのフィット方法の指定などができます。
サンプルプログラム(ApiPdfPrint)を添付しております。 https://www.antenna.co.jp/pdfviewersdk/samplecode.html#sample02
-
印刷の向きや用紙サイズを指定することはできますか?
-
はい、可能です。
「PDF Viewer API」では、印刷開始時にプリンタのDEVMODE構造体を指定できます。
こちらを設定することで可能です。
・用紙サイズ
印刷開始時に paperselect=falseとし、DEVMODE構造体(dmPaperSize)で用紙サイズを指定します。
・印刷の向き
DEVMODE構造体(dmOrientation )で指定します。
サンプルプログラム(ApiPdfPrint)を添付しております。 https://www.antenna.co.jp/pdfviewersdk/samplecode.html#sample02
-
部数の指定はできますか?
-
はい、可能です。
部数を指定したDEVMODE構造体を、印刷開始関数に渡すことで指定できます。
プリンタ側で部数が扱われます。
-
プログラムの中で連続紙に設定することはできますか?
-
いいえ、「連続紙に設定する」方法は弊社APIにはご用意しておりません。
これは、プリンタドライバごとに設定方法が異なり標準的な方法で扱えないためです。 しかし、そのような設定を行ったDEVMODE構造体を印刷開始API(startPrintなど)に渡して頂く事で印刷時に設定を反映させることは可能です。 どのようなDEVMODE設定をおこなうかはお客様にてお使いのプリンタドライバーの仕様をご確認ください。
-
4、1、2、3ページ、のように任意の順序でページを印刷できますか?
-
はい、可能です。
印刷は以下の順序でおこないます。
1. 印刷開始メソッドを呼び出す。
2. ページ番号を指定して、printPage()を呼び出す。
3. 最後に印刷終了メソッド を呼び出す。
アプリケーション側でご希望の順序でページを指定することが出来ます。
-
印刷成功時の戻り値について、スプールに成功した後、プリンタから紙が出力されたこと(印刷ジョブから消えるところまで)を APIで確認可能でしょうか?
-
いいえ、スプールに成功したことをもって印刷成功としております。
印刷用のAPI(startPrint/endPrint/printPage)を用意しておりますが、内部ではWindows の標準的な GDI Print API を利用しています。 endPrint() を呼び出したタイミングで印刷ジョブが終了し、GDI を介したプリンタドライバとのやり取りは終了します。 このタイミングでプリンタドライバへ印刷データが完全にわたり、スプールを完了します。 これ以降のスプールやプリンタの状況はAPI側では把握しておりません。
-
印刷失敗時の戻り値で詳細なエラー(プリンタ用紙切れ等)を確認することはできるでしょうか?
-
いいえ。
プリンタの詳細状況は、API呼び出しの戻り値としては取得できません。
-
プリンタにスプールされた印刷ジョブについて、APIから状態(印刷待ち等)を確認することは可能でしょうか?
-
いいえ、スプール管理の機能は持ちません。
スプールされた印刷ジョブの印刷失敗などのステータスについても管理しておらず、エラー等としてAPIから報告する機能は持ちません。
-
プリンタの電源がOFFの場合、その場合は「印刷中止」が返却されますか?
-
いいえ。
印刷ジョブはスプールされるので印刷は問題なく進み成功します。 プリンタやプリンタドライバの環境や設定にもよりますが、スプール側で印刷ジョブが待機した状態になります。
-
印刷開始APIにDEVMODE構造体を渡していますが、印刷に設定が反映されません。
-
その設定がDEVMODE構造体共通のフィールドではなくプリンタ固有のフィールドである場合であれば、原因としてプリンタ共通のパブリック領域のみをコピーしプライベート領域をコピーしていない事が考えられます。プライベート領域のサイズはプリンタドライバごとに異なりますので、そのサイズを確認してプライベート領域をふくめてコピーする必要があります。
パブリック メンバーとプライベート メンバー
https://learn.microsoft.com/ja-jp/windows-hardware/drivers/display/the-devmodew-structure
開発上の問題
-
バージョン確認方法を教えて下さい。
-
【PDF Viewer APIをご利用の場合】
AvsPDFViewerSDKXX.dllの「製品バージョン」をご確認ください。※
【PDF Viewer Ctrl をご利用の場合】
AvsPDFViewerSDKXX.dll の「製品バージョン」をご確認ください。※
※確認方法
エクスプローラーでファイルのプロパティを開き「詳細」タブの「製品バージョン」をご確認ください。
例) 5.0.6.0 → V5.0 MR6 ( V5.0 改訂6版、または 5.0.6 と表記する場合があります。)
4桁目は通常「0」です。
改訂版公開までに、弊社内で版を重ねた場合はカウントアップされる場合があります。
改訂版公開後にカウントアップする事は通常はありません。
-
コントロールを貼り付けたフォームを Visual Studio のフォームデザイナーで開くとエラーになります。
-
【32ビット版コントロールをご利用の場合】
PATH を通さないとフォームデザイナーを開いたときに以下のエラーが発生します。
その場合は一旦 Visual Studio を終了してから、環境変数 Path に AvsDotNetGuiCtl.dll が含まれるフォルダパスを追加し、再度 Visual Studio を起動してから、フォームデザイナーで開いてください。
【64ビット版コントロール(V5.0)をご利用の場合】
Visual Studio 2019 は32ビットアプリケーションのため、64ビット版コントロールをフォームデザイナーでロードして表示する事ができません。32ビット版でフォームデザインを行ったあと、64ビット版としてビルドしてください。詳しくはマニュアルをご覧ください。
-
フォームデザイナー上でコントロールをドラッグ&ドロップしてもフォーム上に何も表示されません。
-
【32ビット版コントロールをご利用の場合】
フォームデザイナーが関連DLLをロードしてコントロールを表示できないためです。AvsDotNetGuiCtl.dll と関連DLL を含むフォルダにPATHを通した状態で Visual Studio を起動してください。
-
インストールされたVisual C#のサンプルをVisual Studioで開いてビルドするとエラーになります。
-
samples フォルダのみコピーした場合は、以下のようなエラーが出ることがあります。
3>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(145,5): error MSB3073: :VCEnd" はコード 4 で終了しました。
この場合は、samples フォルダ以外のデータも同じ階層にコピーしてビルドしてください。最低限必要なのは以下のフォルダです。samples\ bin\ Include\ lib\
もしくはコピーしないで、インストール先フォルダ以下のsamplesフォルダのままビルドをお願いします。
-
「ファイルまたはアセンブリ'AvsDotNetGuiCtl.dll'、またはその依存関係の1つが読み取れませんでした。指定されたモジュールが見つかりません。」というメッセージが表示されてPDFを表示する事ができません。
-
AvsDotNetGuiCtl.dll'には関連する他のDLLやリソースがあります。 'AvsDotNetGuiCtl.dll'のみを実行環境にコピーされているようでしたら、 それらをコピーして実行をお願いいたします。
詳しくは下記をご覧ください。
4.2. 動作に必要なモジュール、手続き等
-
32ビット版を使用して開発したアプリケーションを、64ビット化しました。実行すると「算術演算の結果オーバーフローが発生しました。」のエラーが発生します。
-
DocumentOpendイベントなどのイベントハンドラで、PDFDocumentのハンドルをInt32型の引数で受け取っている可能性があります。引数の型を IntPtrに変更してください。 32ビット版と64ビット版では、受け渡されるハンドルのサイズが違います。
-
.NET Frameworkでの開発でx64/x86を切り替えたとき、参照するDLLも切り替える必要はありますか?
-
はい。
ビルドするプラットフォームがx64/x86であるかに応じて、64ビット版/32ビット版のDLLを参照する必要があります。「PDF Viewer Ctrl」のマニュアルに記載がありますのでご覧ください。
-
.NET Framworkを使って開発をしています。AvsPDFViewerSDKXX.dllとAvsGuiCtlXX.dllの参照を追加する必要はありますか?
-
いいえ、必要ありません。
参照を追加するDLLは ご利用の.NET/.NET Frameworkのバージョンによってことなります。 以下をご参照ください。
4.1. .NET/.NET Framework版
また、動作には関連するその他のDLLやリソースが必要です。以下をご参照ください。
4.2. 動作に必要なモジュール、手続き等
-
ActiveXのサンプルをビルドするとエラーが発生します。
-
ActiveXコントロールを登録していない状態で、サンプル AvsActiveXCtlSampleをビルドすると、以下のエラーがでます。
AvsActiveX.ocxをレジストリに登録してからビルドしてください。
ーーーーーーーーーーーーーーーーー
重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態
エラー CS0246 型または名前空間の名前 'AxAVSACTIVEXCTLLib' が見つかりませんでした
(using ディレクティブまたはアセンブリ参照が指定されていることを確認してください)
AvsActiveXCtlSample C:\PDFViewerSDK_V50\samples\Source\AvsActiveXCtlSample\Form1.cs 617
アクティブ
-
検証環境の再構築のための再インストールのため、Cドライブ配下のディレクトリも削除し、再インストールを行いましたが、「同一バージョンがインストール済みです。セットアップを中止します。」が表示されます。
-
インストール先フォルダを手動で削除しアンインストールを行っていないか、アンインストールが不完全である可能性があります。
「設定」-「アプリ」-「インストールされているアプリ」もしくは「アプリと機能」から「Antenna House PDF Viewer SDK VX.0」をアンインストールしたうえで、再度インストールお願いいたします。
-
ライセンスの更新をしたいのですが、旧端末から新端末に切り替える際に、ライセンス更新の手続き以外にライセンス移動等の対応が必要になるでしょうか。
-
ライセンスファイルの移動が必要です。詳細は以下のマニュアルの記載をご確認ください。
製品説明書
3. ライセンスファイル
動作詳細について
-
「PDF Viewer API」 の矩形選択・矩形内テキストの取得を行う関数(getTextInRect())を使用する際、第二引数の「RECT(構造体)」はどのように指定したらよいでしょうか? C++のマウスカーソルの座標取得する関数(GetCursorPos)より取得した値を設定しましたが、うまくいきません。
-
座標値は「PDF Viewer API」の座標系で指定してください。
マウスの座標をデバイスに依存しない「PDF Viewer API」の座標に変換する必要があります。
【PDF Viewer API の座標系】
・原点は左上、x軸は右方向、y軸は下方向に増加
・単位は TWIP(1ポイント=20TWIP、1インチ=72ポイント=1440TWIP)
マウス座標からPDFページ上の座標に変換するサンプルコードは、SDK付属のAvsPDFViewerSampleプログラムにございます。(ソースファイルPDFViewerView.cppの OnMouseMove メソッド)
-
PDFPageViewCtrl で ClientToLogical 関数のPAGENO引数がクリアされてしまいます。
-
ClientToLogical 関数は、ウィンドウのクライアント座標(x, y) を入力として、 PDFのページ番号とそのページ上の論理座標(x, y)を返します。
連続ページ表示などウィンドウに複数のPDFのページが同時に表示されるときは、マウス位置によってPAGENO引数が変化し、カレントページ番号と必ずしも同じにならない場合があります。
-
PDF Viewr Ctrlで保存した注釈が、あるシステムで表示されません。
-
【V3.5 / V4 の場合】
V4以前のバージョンでは、注釈の外観ストリームを保存しません。
注釈表示に外観ストリームが必要なPDFリーダーやシステムですと、注釈が表示されなかったり見かけが異なることがあるかもしれません。
V5 へのバージョンアップをご検討ください。
【V5 の場合】
注釈の外観ストリームを保存するようになり、注釈表示の互換性が向上しています。V4以前の問題は発生しないと思われます。
お問い合わせ
- Webフォーム
- Webフォームからお問い合わせ
- 電子メール
- sis@antenna.co.jp