PDFページをプログラムで移動 C++
Contents
[
Hide
]
あるPDFドキュメントから別のPDFドキュメントへのページ移動
ドキュメント内でPDFページを移動することは非常に興味深く、人気のあるタスクです。 このトピックでは、C++を使用して1つのPDFドキュメントから別のドキュメントの最後にページを移動する方法を説明します。 ページを移動するには、次の手順を実行します:
- ソースPDFファイルを使用してDocumentクラスオブジェクトを作成します。
- PageCollectionコレクションからページを取得します。
- ページを移動先ドキュメントに追加します。
- Saveメソッドを使用して出力PDFを保存します。
- 削除 ソースドキュメント内のページ。
- 保存メソッドを使用して、ソース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ドキュメントに移動する
- ソースPDFファイルでDocumentクラスオブジェクトを作成します。
- 移動するページ番号を指定した配列を定義します。
- 配列をループして実行します:
- PageCollection コレクションからページを取得します。
- ページを宛先ドキュメントに追加します。
- Save メソッドを使用して出力 PDF を保存します。
- ソースドキュメントのページを削除します。
- 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ドキュメント内でページを新しい位置に移動する
- ソースPDFファイルでDocumentクラスオブジェクトを作成します。
- PageCollectionコレクションからページを取得します。
- ページを新しい位置(例えば最後)に追加します。
- 前の位置のページを削除します。
- 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);
}