0
、 PDFClownは、検索と置換ページpdfclownを使用して
は、私は既存のPDFドキュメント内のページを見つけ、別のPDFドキュメントからページを置き換えるためのベストプラクティスを思っていました。私は両方のページのブックマークとページラベルを持っています。
、 PDFClownは、検索と置換ページpdfclownを使用して
は、私は既存のPDFドキュメント内のページを見つけ、別のPDFドキュメントからページを置き換えるためのベストプラクティスを思っていました。私は両方のページのブックマークとページラベルを持っています。
ページPageManager
CLI例から導出することができる交換するための簡単な例:
string inputA = @"A.pdf";
string inputB = @"B.pdf";
string output = @"A-withPage1FromB-simple.pdf";
org.pdfclown.files.File fileA = new org.pdfclown.files.File(inputA);
org.pdfclown.files.File fileB = new org.pdfclown.files.File(inputB);
// replace page 0 in fileA by page 0 from fileB
Document mainDocument = fileA.Document;
Bookmarks bookmarks = mainDocument.Bookmarks;
PageManager manager = new PageManager(mainDocument);
manager.Remove(0, 1);
manager.Add(0, fileB.Document.Pages.GetSlice(0, 1));
fileA.Save(output, SerializationModeEnum.Standard);
これは実際B.pdfの最初のページによってA.pdfの最初のページを置換し、その結果を保存-withPage1FromB-simple.pdf。
残念ながら、PageManager
はブックマークを更新しません。したがって、上のコードの結果では、最初の最初のページを指し示していたブックマークが残っています。このページは存在しないので、もはや今はもうどこにも向いていません。そして、fileBの最初のページを指すブックマークは完全に無視されます。
他のドキュメントレベル、ページ関連プロパティも転送されません。ページラベル。ただし、ページラベルの場合、最初のページの元のラベルは、置換後の最初のページに関連付けられたままです。これは、異なる種類の参照(オブジェクトではなくページ番号による)によるものです。
ソリューションに興味がある場合は、入力ファイルの例を提供してください。 – mkl
@mkl、どこでファイルを送信したいですか? – Ryan
通常、Googleドライブ、Dropboxなどの共有ファイル共有を使用して共有し、ここにURLを投稿します。 – mkl