質問があります.PDFをカメラロールに保存することは可能ですか?つまり、絵を保存する方法はわかっていますが、PDFも保存できますか?XcodeでPDFを画像として保存しますか?
答えて
間接的に試してみると、試したことがある人は見ることができません。 https://discussions.apple.com/thread/2479252
カメラロールは写真用です。 iBooksはPDF用です。
これはPNGと呼ばれるtest.pngにローカルのドキュメントディレクトリに座って、PDFと呼ばれるtest.pdfというの変換: -
いいえ、それはできません。アップルでは写真とビデオのみを写真ライブラリに保存することができます。 PDF形式のファイルはiBooksやPDFを扱うことができる他のプログラムに保存できますが、フォトライブラリはPDFを受け取ることができません。
PDFを画像のセットに変換してロールに取り込むことができます。実際のPDFをロールに追加することはできません。
は@ jshin47として、次のフラグメントは、あなたが軌道に乗るだろう。私はPDFのA4寸法を使用しましたが、英国/ヨーロッパにいない場合は、米国のレターサイズが必要になることがあります。
NSString* localDocuments = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) objectAtIndex:0];
NSString* pdfPath = [localDocuments stringByAppendingPathComponent:@"test.pdf"];
// create a sample PDF (just for illustration)
UIGraphicsBeginPDFContextToFile(pdfPath, CGRectZero, nil);
UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, 612, 792), nil);
[@"Test string" drawInRect:CGRectMake(50, 50, 300, 200) withFont: [UIFont systemFontOfSize: 48.0]];
UIGraphicsEndPDFContext();
NSURL* url = [NSURL fileURLWithPath: pdfPath];
CGPDFDocumentRef document = CGPDFDocumentCreateWithURL ((CFURLRef) url);
UIGraphicsBeginImageContext(CGSizeMake(596,842));
CGContextRef currentContext = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(currentContext, 0, 842);
CGContextScaleCTM(currentContext, 1.0, -1.0); // make sure the page is the right way up
CGPDFPageRef page = CGPDFDocumentGetPage (document, 1); // first page of PDF is page 1 (not zero)
CGContextDrawPDFPage (currentContext, page); // draws the page in the graphics context
UIImage* image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSString* imagePath = [localDocuments stringByAppendingPathComponent: @"test.png"];
[UIImagePNGRepresentation(image) writeToFile: imagePath atomically:YES];
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil); // do error checking in production code
ありがとうございました!それは働いているようだが、写真は白だけです..? – user1110365
ほとんどの場合、ドキュメントフォルダに「test.pdf」という有効なPDFが見つかりません。 urlがnilの場合(ファイルが見つからない場合)、空白のPNGが生成されます。 4つの行を追加してPDFを作成し、ドキュメントフォルダに保存しました。それがOKのイメージを生成する場合、問題は有効なPDFファイルのURLではない可能性が最も高いです。 – Obliquely
1つの質問:それは完璧に動作します:)しかし、どのようにしてudをドキュメントフォルダからではなく、UIWebview(UIwebview.request.URL.absoluteString)からpdfを使用できますか? – Nils
どのように私はpdfを画像に変換できますか? –