我正在尝试打印从文件系统读取的 PDF 文件。但不能完全让它工作。我知道我必须将文件放在视图中,然后打印视图。
这是我的打印方法:
NSPrintInfo *printInfo = [NSPrintInfo sharedPrintInfo];
NSPrintOperation *PDFPrint = [NSPrintOperation printOperationWithView:_pdfView printInfo:printInfo];
[PDFPrint setCanSpawnSeparateThread:YES];
[PDFPrint setShowsProgressPanel:YES];
[PDFPrint runOperation];
这就是我创建视图的方式:
PDFDocument *pdfDocument = [[PDFDocument alloc] initWithURL:fileURL];
PDFPage *firstPage = [pdfDocument pageAtIndex:0];
NSRect bounds = [firstPage boundsForBox:kPDFDisplayBoxMediaBox];
NSSize pixelSize = bounds.size;
NSSize documentSize;
documentSize.width = pixelSize.width;
documentSize.height = pixelSize.height;
PDFView *PDFDocumentView = [[PDFView alloc] initWithFrame:NSMakeRect(0, 0, documentSize.width, documentSize.height)];
[PDFDocumentView setDisplayMode:kPDFDisplaySinglePage];
[PDFDocumentView setDisplayBox:kPDFDisplayBoxMediaBox];
[PDFDocumentView setAutoScales:NO];
[PDFDocumentView setDocument:pdfDocument];
[PDFDocumentView setBackgroundColor:[NSColor redColor]];
return PDFDocumentView;
当我来回调整它时,我设法打印了 PDF,但它没有正确对齐。
关于对齐。我可以看到我创建的红色背景,但我看不到 pdf 右侧的部分内容。
那么如何最好地阅读并打印 PDF 文件呢?
有任何想法吗?