だから私は個人的な使用のために、iPad 用の特定のタイプの PDF エディターを実装しています。私はすでに PDF ビューアーを実装していますが、今は編集部分で立ち往生しています。ドキュメントの各ページを UIView に表示し、ページとまったく同じサイズの別のビューを作成します。次に、ユーザーがビューに描画できるようにします
今、それが描かれたPDFファイルの正確なページでそのUIVIiewを印刷したいとします。これを行う方法は知っていますが、大きなドキュメントでは時間がかかりすぎます。私はこのようにしていました(理解を深めるためにコードを簡略化しました):
UIGraphicsBeginPDFContextToFile(file, pageSize, nil);
for (size_t currentPage = 1; currentPage <= pageCount; currentPage++) {
UIGraphicsBeginPDFPageWithInfo(pageSize, nil);
CGContextRef ctx = UIGraphicsGetCurrentContext();
//translates context, copies doc page to the new pdf, translates back
CGContextTranslateCTM(ctx, 0, pageSize.size.height);
CGContextScaleCTM(ctx, 1.0, -1.0);
CGPDFPageRef page = CGPDFDocumentGetPage (document, currentPage);
CGContextDrawPDFPage (ctx, page);
CGContextScaleCTM(ctx, 1.0, -1.0);
CGContextTranslateCTM(ctx, 0, -pageSize.size.height);
//custom drawing goes here
if(currentPage == desiredPage) [imageFromView drawInRect:pageSize];
}
UIGraphicsEndPDFContext();
ここでの問題は、この手順で PDF 全体が再作成されることです。大きなドキュメントの場合、完了するまでに数分かかる場合があります。
ドキュメント全体を再作成することなく、PDF ドキュメントのページに (ユーザーが描いた) UIView を印刷するソリューションが必要でした。
リンク、ヒント、その他の有用な情報は大歓迎です。前もって感謝します