PDFページをプログラムで移動 C++

あるPDFドキュメントから別のPDFドキュメントへのページ移動

ドキュメント内でPDFページを移動することは非常に興味深く、人気のあるタスクです。 このトピックでは、C++を使用して1つのPDFドキュメントから別のドキュメントの最後にページを移動する方法を説明します。 ページを移動するには、次の手順を実行します:

  1. ソースPDFファイルを使用してDocumentクラスオブジェクトを作成します。
  2. PageCollectionコレクションからページを取得します。
  3. ページを移動先ドキュメントに追加します。
  4. Saveメソッドを使用して出力PDFを保存します。
  5. 削除 ソースドキュメント内のページ。
  6. 保存メソッドを使用して、ソースPDFを保存します。

次のコードスニペットは、1ページを移動する方法を示しています。

void MovePage()
{
    // ドキュメントを開く
    String _dataDir("C:\\Samples\\");
    String srcFileName("<enter file name>");
    String dstFileName("<enter file name>");

    auto srcDocument = MakeObject<Document>(_dataDir + srcFileName);
    auto dstDocument = MakeObject<Document>();

    auto page = srcDocument->get_Pages()->idx_get(2);
    dstDocument->get_Pages()->Add(page);
    // 出力ファイルを保存
    dstDocument->Save(srcFileName);
    srcDocument->get_Pages()->Delete(2);
    srcDocument->Save(dstFileName);
}

複数のページを1つのPDFドキュメントから別のPDFドキュメントに移動する

  1. ソースPDFファイルでDocumentクラスオブジェクトを作成します。
  2. 移動するページ番号を指定した配列を定義します。
  3. 配列をループして実行します:
  4. PageCollection コレクションからページを取得します。
  5. ページを宛先ドキュメントに追加します。
  6. Save メソッドを使用して出力 PDF を保存します。
  7. ソースドキュメントのページを削除します。
  8. Save メソッドを使用してソース PDF を保存します。

次のコードスニペットは、PDF ファイルの末尾に空のページを挿入する方法を示しています。

void MoveBunchPages()
{
    // ドキュメントを開く
    String _dataDir("C:\\Samples\\");
    String srcFileName("<enter file name>");
    String dstFileName("<enter file name>");

    auto srcDocument = MakeObject<Document>(_dataDir + srcFileName);
    auto dstDocument = MakeObject<Document>();


    auto pages = MakeArray<int>({ 1,3 });

    for (auto pageIndex : pages)
    {
        auto page = srcDocument->get_Pages()->idx_get(pageIndex);
        dstDocument->get_Pages()->Add(page);
    }
    // 出力ファイルを保存
    dstDocument->Save(srcFileName);
    srcDocument->get_Pages()->Delete();
    srcDocument->Save(dstFileName);
}

現在のPDFドキュメント内でページを新しい位置に移動する

  1. ソースPDFファイルでDocumentクラスオブジェクトを作成します。
  2. PageCollectionコレクションからページを取得します。
  3. ページを新しい位置(例えば最後)に追加します。
  4. 前の位置のページを削除します。
  5. Saveメソッドを使用して出力PDFを保存します。
void MovePagesInOnePDF()
{
    // ドキュメントを開く
    String _dataDir("C:\\Samples\\");
    String srcFileName("<enter file name>");
    String dstFileName("<enter file name>");

    auto srcDocument = MakeObject<Document>(_dataDir + srcFileName);
    auto dstDocument = MakeObject<Document>();

    auto page = srcDocument->get_Pages()->idx_get(2);
    srcDocument->get_Pages()->Add(page);
    srcDocument->get_Pages()->Delete(2);

    // 出力ファイルを保存
    srcDocument->Save(dstFileName);
}