1

たとえばiPhoneで撮ったスクリーンショットをPDFファイルに変換するにはどうすればよいでしょうか。スクリーンショットを撮ってUIImageに入れるのは簡単ですが、私が困惑したのは変換です。XcodeでPDF形式をサポートしていることがわかっている唯一のQuartzフレームワークを調べましたが、これを機能させるためのフレームワークは見つかりませんでした。私が見逃しているXcodeネイティブのものはありますか?そうでない場合、このような変換を処理できるパブリックフレームワークはどこかにありますか?

4

2 に答える 2

1

私はそれを考え出した。スクリーンショットをUIImageとして保存し、ここにある非常に役立つチュートリアルを使用してPDF変換を開始しました。実は、CoreGraphicsクラスにはPDFドキュメントの作成を処理する関数があります。

于 2012-03-05T14:33:25.207 に答える
-1

スクリーンショットをPDFに変換することはありません。スクリーンショットを作成し、PDFを作成して、PDFの最初のページにスクリーンショット画像を挿入します。

イメージを作成するためのテストされていないコード:

nameStr = [NSString stringWithFormat:@"myImage.png"];
fileManager = [NSFileManager defaultManager];
paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
documentsDirectory = [paths objectAtIndex:0];
namePath = [documentsDirectory stringByAppendingString:@"/"];
namePath = [thumbnailPath nameStr];

CGRect contextRect  = CGRectMake(0, 0, 1024, 768);
UIGraphicsBeginImageContext(contextRect.size);  
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

NSData *data = UIImagePNGRepresentation(viewImage);
UIImage *myImage    = [[UIImage alloc] initWithData:data];

PDFに画像を追加するためのテストされていないコード:

pageSize = CGSizeMake(1024, 768);
fileName = @"myFile.pdf";
pdfFileName = [documentsDirectory stringByAppendingPathComponent:fileName];

UIGraphicsBeginPDFContextToFile(pdfFileName, CGRectZero, nil);
UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, pageSize.width, pageSize.height), nil);

[myImage drawInRect:CGRectMake( 0, 0, 1024, 768];
UIGraphicsEndPDFContext();

上記のiPad1024x768を想定したps

于 2012-03-02T16:49:52.680 に答える