0

アプリのドキュメント ディレクトリから .pdf を取得して、PIC にロードしようとしています。PIC はエラーなしで表示されますが、プレビューにデータが表示されません。ここで何が欠けていますか?私は完全に間違ったアプローチをとっているだけですか?

-(IBAction)actPrintPDF:(id)sender
{


NSString* fileName = @"Observation.PDF";

NSArray *arrayPaths =
NSSearchPathForDirectoriesInDomains(
                                    NSDocumentDirectory,
                                    NSUserDomainMask,
                                    YES);
NSString *path = [arrayPaths objectAtIndex:0];
NSString* pdfFileName = [path stringByAppendingPathComponent:fileName];

NSLog(@"Path = %@",path);
NSLog(@"pdfFileName = %@",pdfFileName);

NSData *myData = [NSData dataWithContentsOfFile:path];
UIPrintInteractionController *print = [UIPrintInteractionController sharedPrintController];

print.delegate = self;
UIPrintInfo *printInfo = [UIPrintInfo printInfo];
printInfo.outputType = UIPrintInfoOutputGeneral;
printInfo.jobName = [pdfFileName lastPathComponent];
printInfo.duplex = UIPrintInfoDuplexLongEdge;
print.printInfo = printInfo;
print.showsPageRange = YES;
print.printingItem = myData;
UIViewPrintFormatter *viewFormatter = [self.view viewPrintFormatter];
viewFormatter.startPage = 0;
print.printFormatter = viewFormatter;


UIPrintInteractionCompletionHandler completionHandler = ^(UIPrintInteractionController *printInteractionController, BOOL completed, NSError *error) {};

[print presentAnimated:YES completionHandler:completionHandler];

}

ログはこれを示しています: ***2015-11-08 08:56:30.462 ShortShooter4[16153:7505181] パス = /Users/myUserName/Library/Developer/CoreSimulator/Devices/02F8C004-6BA3-4F7B-9FC4-743DA205D7DD/データ/コンテナ/データ/アプリケーション/796A70BC-4159-4B18-825E-B35043BC5704/ドキュメント

2015-11-08 08:56:30.462 ShortShooter4[16153:7505181] pdfFileName = /Users/muUserName/Library/Developer/CoreSimulator/Devices/02F8C004-6BA3-4F7B-9FC4-743DA205D7DD/data/Containers/Data/Application/796A70BC -4159-4B18-825E-B35043BC5704/Documents/Observation.PDF 2015-11-08 08:56:31.080 ShortShooter4[16153:7505181] .*** の外観遷移を開始/終了する不均衡な呼び出し

それで、文書がそこにあることがわかります。アンバランス コールの問題もありますが、それについては個別に説明します。

4

1 に答える 1

0

削除することで解決される問題:

UIViewPrintFormatter *viewFormatter = [self.view viewPrintFormatter];
viewFormatter.startPage = 0;
print.printFormatter = viewFormatter;

これが他の誰かに役立つことを願っています。

于 2015-11-14T13:35:45.223 に答える