使用 PDFKit 打印 PDF。(目标 C)

Posted

技术标签:

【中文标题】使用 PDFKit 打印 PDF。(目标 C)【英文标题】:Print PDF with PDFKit.(Objective C) 【发布时间】:2021-01-26 07:44:26 【问题描述】:

我正在开发一个需要预览和打印文档的应用程序。 我可以预览它,但不能打印它。

PS:我在网上搜索,发现有一个方法printwithinfo, 但是当我尝试使用它时,它会说“无法识别的方法”

这是我正在使用的代码。

PDFView *pdfView = [[PDFView alloc] initWithFrame:self.view.bounds];
    
    [self.view addSubview:pdfView];
    pdfView.translatesAutoresizingMaskIntoConstraints = NO;
    UILayoutGuide * guide = self.view.safeAreaLayoutGuide;
    [pdfView.leadingAnchor constraintEqualToAnchor:guide.leadingAnchor].active = YES;
    [pdfView.trailingAnchor constraintEqualToAnchor:guide.trailingAnchor].active = YES;
    [pdfView.topAnchor constraintEqualToAnchor:guide.topAnchor].active = YES;
    [pdfView.bottomAnchor constraintEqualToAnchor:guide.bottomAnchor].active = YES;
    
    pdfView.autoScales = YES;
    pdfView.displayDirection = kPDFDisplayDirectionVertical;
    pdfView.displaysRTL = YES;
    pdfView.displayMode = kPDFDisplaySinglePageContinuous;
    [pdfView setDisplaysPageBreaks:YES];
    [pdfView setDisplayBox:kPDFDisplayBoxTrimBox];
    NSURL *url = [[NSBundle mainBundle] URLForResource:@"sample" withExtension:@"pdf"];
    PDFDocument * document = [[PDFDocument alloc] initWithURL:url];
    pdfView.document = document;
    [pdfView.document allowsPrinting];
    
    PDFThumbnailView *thumbnailView = [[PDFThumbnailView alloc]init];
    thumbnailView.translatesAutoresizingMaskIntoConstraints = NO;
    [self.view addSubview:thumbnailView];
    
    [thumbnailView.leadingAnchor constraintEqualToAnchor:guide.leadingAnchor].active = YES;
    [thumbnailView.trailingAnchor constraintEqualToAnchor:guide.trailingAnchor].active = YES;
    [thumbnailView.bottomAnchor constraintEqualToAnchor:guide.bottomAnchor constant:10].active = YES;
    [thumbnailView.heightAnchor constraintEqualToConstant:120].active = YES;
    thumbnailView.thumbnailSize = CGSizeMake(100, 60);
    thumbnailView.layoutMode = PDFThumbnailLayoutModeHorizontal;
    thumbnailView.PDFView = pdfView;
    
    pdfView.delegate = self;
    pdfView.document.delegate = self;
    pdfView.displaysAsBook = YES;   

【问题讨论】:

【参考方案1】:

设置您的pdfView后,您只需拨打电话

[pdfView printWithInfo:[NSPrintInfo sharedPrintInfo] autorotate:YES]

您可能还有一个可以使用的self.printInfo,但我不知道您的情况是什么self

【讨论】:

以上是关于使用 PDFKit 打印 PDF。(目标 C)的主要内容,如果未能解决你的问题,请参考以下文章

使用 PDFKit 编辑 PDF

在 iOS 上使用 PDFKit.PDFView 打开 PDF

如何从使用 pdfkit 相机拍摄的图像创建 pdf

在节点 js 中使用 pdfkit 不会改变 PDF 页面大小

在节点 js 中使用 pdfkit 指定 PDF 页面大小

如何创建应用了布局的 pdf 文件。使用 pdfkit 宝石