XDW_GetPageTextToMemory - DocuWorksでペーパーレスと業務効率化 DelphiでDocuWorks連携プログラム作成

XDW_GetPageTextToMemory

DocuWorksでペーパーレスと業務効率化 DelphiでDocuWorks連携プログラム作成

XDW_GetPageTextToMemory

指定ページのテキストをメモリ(変数)に格納します。

 

Delphiでの宣言

function XDW_GetPageTextToMemory(handle: p_XDW_DOCUMENT_HANDLE; nPage: Integer; 
    lpszValue: PChar; nDataSize: Integer; reserved: pointer): Integer; stdcall;

 

handle には XDW_OpenDocumentHandle で得たハンドルを渡します。

nPageはページ番号ですね。
DocuWorksでは1から始まります。

lpszValueは返されるアドレスです。

nDataSizeは返されるアドレス(変数)に割り当ててあるメモリをバイト数で指定します。

reservedにはいつもどおりXDW_NULLです。

 

 

ところでnDataSizeには何バイト割り当てればよいのでしょうか?

 

まずnDataSizeに0、lpszValueにNullを指定すると、返り値で必要なバイト数を返してきます。

これをセットするのですね。

 

実際に組んでみましょう。

 

function GetPageTextToMemory(InPage: Integer): String; 
var 
  Size: Integer; 
  TempChar: pChar; 
begin 
  //FileHandleにはすでにファイルハンドルが代入されていると仮定 

     //必要メモリサイズを得る 
    Size := XDW_GetPageTextToMemory(FileHandle, InPage, XDW_NULL, 0, XDW_NULL); 
    GetMem(TempChar, Size); 

    //Get 
    XDW_GetPageTextToMemory(FileHandle, InPage, TempChar, Size, XDW_NULL); 

    Result := String(TempChar); 
    Freemem(TempChar); 
end;

 

こうなります。

実際はGetMem~FreeMemをtryで囲んで例外対策をするべきでしょう。

トラックバック(0)

このブログ記事を参照しているブログ一覧: XDW_GetPageTextToMemory

このブログ記事に対するトラックバックURL: http://www.gracix.com/mtos/mt-tb.cgi/101

コメントする

DocuWorks 7.0

DocuWorksテキスト抽出ツール

DocuWorks文書から拡張子が「.xdw」のファイル、「.xdb」のDocuWorksバインダーファイルからテキストのみを抽出することができます。アノテーションの文字も抽出できます。
DocuWorksテキスト抽出ツールのダウンロードはこちらから

DocuWorks文書 閲覧用ソフト

DocuWorksを持っていない方がDocWorksファイルをもらった時に使う、閲覧のみができるソフトです。
Xeroxさんのページから無料で入手できます。
こちら

ちなみにDocuWorksのファイルは拡張子が「.xdw」となっています。

サイト内検索

Delphi2009

情報整理・ビジネス良書

はたらき方の革命

はたらき方の革命


ライフスタイルプロデューサー、浜野 安宏さんの著書です。迷いの多いこの時代、どうやって自分を表現し、幸せにはたらくか、生きるか。それを実践する多くの人のインタビューで構成されています。強くお勧め!

「読む・書く・話す」を一瞬でモノにする技術「読む・書く・話す」を一瞬でモノにする技術

声に出して読みたい日本語などで有名な齋藤 孝氏の本。忙しい生活の中で、どれだけ本を読み、それを記憶し活用するかは、私たちのビジネス人生において非常に重要です。その具体的な方法を気づかせてくれます。私もEvernoteからメモをノートにしようかと思います。さっそく3色ボールペンも買いました(笑)

大金持ちをランチに誘え! 世界的グルが教える「大量行動の原則」

大金持ちをランチに誘え! 世界的グルが教える「大量行動の原則」 ダン・ケネディ


ビジネスというよりも人生的に役に立つ私のバイブル。金持ちになるとはどういうことか、幸せになるとはどういうことか。多様な経験と深い洞察による人生をよりよく生きるための根本的なヒント集。私は現在実践中。道は遠く。

最少の時間と労力で最大の成果を出す「仕組み」仕事術
最少の時間と労力で最大の成果を出す「仕組み」仕事術 泉 正人


まずはリスト化!自分の行動を整頓し、仕組み化することであらゆる仕事が明確に、早く、確実になる!なんだか忙しいだけで仕事が終わらない・・・という人にオススメ。

ヤクーバとライオン〈1〉勇気 (講談社の翻訳絵本)

ヤクーバとライオン 1 勇気


あなたは最近絵本を読んでいますか?私は絵本が大好きです。その中で最近感動した1冊。ライオンをしとめることで「勇者」となる儀式。若者ヤクーバはあるライオンと出会います。その先はお楽しみ。真の勇気とは何か。正しさとは何か。自分の得たいものとはなんなのか。迫力のあるモノクロの絵が、短い文とともに心に疑問を投げかけます。

Delphiのお気に入りの本

Delphiというよりはプログラムで役に立ったな~と思う本です。

Delphiオブジェクト指向プログラミング (ソフトウェアテクノロジー)
Delphiでプログラムを楽しむなら必ず一度は眼を通しておいたほうがよい本です。
私もこの本をよんでオブジェクト指向とポインタの真髄を知ることができました。
ほとんど絵のない本で、しかもわかりづらいポインタや多態性などの概論と実践です。
しかし、Delphiの基礎の基礎をすべて得ることができます。
この本を読みながらVCLソースを眺めればまさに発見の嵐!!
あらゆるプログラムに応用できるまさに基礎のための本です。
Delphiコンポーネント設計&開発完全解説
MLの巨人(笑) 中村さんの著書のひとつです。
コンポーネントの設計、開発に関するあらゆることがわかりやすく収められています。
コンポーネントを開発することはDelphiの設計、Delphi言語の設計、オブジェクト指向などあらゆる技を習得できます。
中村さんの深い理解による解説でつまづきやすい部分もなんなくクリアすることができます。
Delphiを少しでも使いこなしたい方にはお勧めの一冊。
Delphi Graphic Secrets―Know‐how & Libraries
またしても中村さんの著書のひとつです。
というかここまで内部に精通し、わかりやすく説明(重要!)できる人はほとんど知りません。
この本はWindowsのグラフィック操作に関する全般が解説されています。
Windows95時代の悪しきパレットの習慣から、いまだに存在するプリント時に空白が発生したりするバグの回避方法、
さらに踏み込みメタファイル、フォントの正しい表示と位置の割り出しかたなどなど。
私の持っているこの本はすでに付箋とペンで見る影もありません(笑)
すばらしい本です。