0

私は現在、Excel マクロを使用しています (ただし、必要に応じて VB.NET に切り替えます)。PDF 内のすべてのテキストをループ処理し、PDF 内のテキストの特定の部分を (Adobe SDK および getPageNthWord を介して) 配列に入力します。 . この部分は問題なく機能していますが、今私が望んでいるのはさらに一歩進んでいます。

テキストをつかむだけでは全体像が得られない PDF の特定の部分があり、さらに何が得られるかを確認したいと思います。これはまさに私が取得しようとしているスクリーンショットまたはスニペットです:

ここに画像の説明を入力

したがって、 getPageNthWordQuads を使用して「コンプライアンス警告」という単語の座標を見つけることができ、画面の右下を見つける方法も見つけられることはわかっていますが、問題はそこから始まります。それらの座標を取得したら、それらをどうしますか? PDF を拡大してその部分だけを表示し、スクリーンショットを撮ることはできますか? アクティブウィンドウのスクリーンショットのコードは既に持っていますが、PDF をスクロールまたはズームする方法がわかりません。

どんな助けでも大歓迎です。新鮮なアプローチも歓迎されます。ありがとう!

4

1 に答える 1

0

うまくいくアプローチはおそらくいくつかあります - 私はあなたの環境/制約について十分に知りません。ここでは、OLE を介して Acrobat と通信していると想定しています。

1) ウィンドウを開き、その AVPageView を取得して、ズームして目的の場所に移動するように依頼できます。

2) OpenInWindowEx を使用して独自のウィンドウの 1 つで PDF ドキュメントを開き、そのウィンドウの内容を取得できます (このウィンドウが画面外にあるという利点があります)。

3) DrawEx メソッド (AcroExch.PDPage 内) を使用して、ページの特定の部分を独自のウィンドウにレンダリングし、それを処理できます。

于 2012-12-17T21:18:33.250 に答える