2012年5月8日火曜日

AcroExch.PDDoc:InsertPages メソッド (2版) « PDF


<説明>
現在のPDFドキュメント内で指定された頁の後に、別のPDFドキュメントを指定ページ数分だけ挿入する。

<形式>
VARIANT_BOOL InsertPages(long nInsertPageAfter,
      LPDISPATCH iPDDocSource,
      long nStartPage,
      long nNumPages,
      long bBookmarks);

<引数> 


口腔顔面痛センター、 npdsメリーランド州
  1. 第1引数(nInsertPageAfter) :
    挿入を開始するページ番号。このページ番号の後に挿入される。なおページ番号1が0だから、最初は-1となる。ページ番号1は0として扱う。但し、最初のページの前に入れる時はPDBeforeFirstPage(=-1)、最終頁の後に追加する時はPDLastPage(=-2)の定数を指定する事も出来る。数値-1.-2を指定してももちろん構わない。このPDBeforeFirstPageとPDLastPageの定数を扱う時はIAC.BAS標準モジュールの追加が別途必要となる。
  2. 第2引数(iPDDocSource) :
    挿入するPDFドキュメントのPDDocオブジェクト。
  3. 第3引数(nStartPage) :
    挿入するPDFドキュメントの開始ページ番号。1ページ目は0。
    問題点有り。<注意事項>を参照。
  4. 第4引数(nNumPages) :
    挿入するPDFドキュメントのページ数。
  5. 第5引数(bBookmarks) :
    しおりも追加する時はTrue(-1)。追加しない時はFalse(0)。
    問題点有り。<注意事項>を参照。

<戻り値> 

  • -1:成功。
  • 0:失敗。または挿入出来なかった。

<動作するバージョン>

Version Adobe
Acrobat
Adobe
Reader

備考

4

-


看護学生の不安

-

Acrobat 4.0
※Windows 98SE + Excel 2000

5

-

Acrobat 5.0.5

6

-

Acrobat 6.0.3 Pro

7

-

-

Acrobat 7.0.9 Pro
Acrobat 7.1.4 Pro

8

OK

-

Acrobat 8.1.2 Pro

9

-

-

Acrobat 9.3.2 Extended

OK = 動作する。
NO = 動作しない。 戻り値が0を返す。
- = 未確認。 環境とテスト時間が出来次第、結果を入力します。


農村高齢者のうつ病

<サンプル:ExcelのVBA>
説明:2つのPDFファイル(Test01_1.pdfとTest01_2.pdf)を結合して、Test01_NEW.pdfファイルを作成する。しおりも同時に入れる。
  • F8キーでステップ実行しながら動作確認する。
  • 事前に参照設定を事前にする。

Sub AcroExch_PDDoc_InsertPages()
    Dim AcroPDDocNew    As New Acrobat.AcroPDDoc
    Dim AcroPDDocAdd    As New Acrobat.AcroPDDoc
    Dim lRet            As Long
    Dim lGetNumPages    As Long
    Dim lPages          As Long
    
    lPages = 0
    '空のPDFファイルを作成する
    lRet = AcroPDDocNew.Create()
    
    '空のPDFファイルに追加する
    lRet = AcroPDDocAdd.Open("E:¥Test01_1.pdf")
    lGetNumPages = AcroPDDocAdd.GetNumPages()
    lRet = AcroPDDocNew.InsertPages(lPages – 1, _
                AcroPDDocAdd, 0, lGetNumPages, True)
    lRet = AcroPDDocAdd.Close()
    
    lPages = lPages + lGetNumPages
    
    '更にPDFファイルを追加する
    lRet = AcroPDDocAdd.
Open("E:¥Test01_2.pdf")
    lGetNumPages = AcroPDDocAdd.GetNumPages()
    lRet = AcroPDDocNew.InsertPages(lPages – 1, _
                AcroPDDocAdd, 0, lGetNumPages, True)
    lRet = AcroPDDocAdd.Close()
    
    '結合したPDFファイルを最後に保存する
    lRet = AcroPDDocNew.Save(1, "E:¥Test01_NEW.pdf")
    lRet = AcroPDDocNew.Close()
    
    'オブジェクトを強制開放する
    Set AcroPDDocAdd = Nothing
    Set AcroPDDocNew = Nothing
End Sub

 
<補足> 

  • 結合時にしおりの階層のトップが元のファイル名として最上位に追加される。要注意。
  • 「挿入するPDFドキュメント」をAcrobat SDKでは「ソースドキュメント」と表現している。
  • 英語サイトで関連サンプルを発見。以下にURLをメモする。詳細は未分析。

<注意事項> 


  • 「第3引数(nStartPage):挿入するPDFドキュメントの開始ページ番号」が0以外の時、InsertPages メソッドが失敗する場合がある。必ずではないが、何度も行っていると動作が不安定?になり、InsertPages メソッドが失敗となる。その予防策として予め挿入するPDFドキュメントから余分なページを削除しておき、InsertPages メソッドを実行する時に第3引数(nStartPage)が0になるようにする事を奨める。
  • 第5引数でTrueを指定して「しおりも追加」状態にすると、第4引数が無視され、全頁が挿入される。

<動作確認環境>

  • WindowsXP Pro(+ SP3) +
    Acrobat 8.1.2 Pro + Office 2003 + MicrosoftUpdate

< 戻る >



These are our most popular posts:

ソースコード管理入門

2012年1月24日 ... インソース. 株式会社インソース東京本社:learn more/大阪支社:learn more 名古屋支社:learn more/ ... 部下への仕事の引継ぎが不安 ... : insource.co.jp/common/download/ojt sheet12.pdf. ☆来週もお楽しみに ... read more

講演映像・資料 - 見えないモノへの不安と向き合うセミナー

1つのソースからさまざまなドキュメントを作成. ベースとなるコンテンツをAuthor-itで オーサリングすることで、PDF、ヘルプ、XMLなどさまざまなフォーマットのドキュメントが 作成できます。制作の手間を省くだけでなく、データ管理も容易になります。 read more

多言語・マルチアウトプットに対応したワンソース・ソリューション

内容. • ソースコード管理とは? – ソースコード・バージョン管理システム ... ソースコード とその変更履歴を管理するシステム. • 多人数での開発を補助するための ..... 開発に 時間がかかるが、その間本家のレポジトリを不安. 定にしたくない. • ソースコード管理 ... read more

部下への仕事の引継ぎが不安‐株式会社インソース

1番売れているウイルス対策ソフト「ウイルスセキュリティZERO」や、検知率100%を 誇る「スーパーセキュリティZERO」、PDF作成ソフト、英語学習ソフト、動画編集ソフト など、さまざまなソフトが勢ぞろい。ダウンロード版ならすぐに使えます。 read more

Related Posts



0 コメント:

コメントを投稿