获取打印预览并将其保存为 PDF 文件

Posted

技术标签:

【中文标题】获取打印预览并将其保存为 PDF 文件【英文标题】:Get Print preview and save it in PDF file 【发布时间】:2013-06-03 07:34:21 【问题描述】:

我想生成网页的打印预览并将其保存为 PDF 文件。

我试过stringByEvaluatingjavascriptFromString:@"document.body.scrollHeight";

stringByEvaluatingJavaScriptFromString:@"document.body.scrollWidth"; 

用于查找高度和宽度的函数,但问题是 java 脚本程序在 10 秒后停止..

我想使用用于 airPrint 的默认打印选项,但我不想打印。

我只想将打印预览保存为 PDF。

请任何人帮助我..

【问题讨论】:

【参考方案1】:
NSString *webServiceUrlString =@"https://www.google.com"; //Google.com is for example use your url
NSData *pdfData = [[NSData  alloc]initWithContentsOfURL:[NSURL URLWithString:webServiceUrlString]];

NSString *resourceDocPath = [[NSString alloc] initWithString:[[[[NSBundle mainBundle]  resourcePath] stringByDeletingLastPathComponent] stringByAppendingPathComponent:@"Documents"]];

NSFileManager *fm = [NSFileManager defaultManager];

NSError *error = nil;
for (NSString *file in [fm contentsOfDirectoryAtPath:resourceDocPath error:&error]) 
    BOOL success = [fm removeItemAtPath:[NSString stringWithFormat:@"%@/%@", resourceDocPath, file] error:&error];
    if (!success || error) 

    


NSString* fileName = @"Your File Name.pdf";
NSString *filePath = [resourceDocPath stringByAppendingPathComponent:fileName];

[pdfData writeToFile:filePath atomically:YES];

【讨论】:

【参考方案2】:

您可以使用 UIGraphicsBeginPDFContextToFile 从您的网页内容创建 PDF 文件。

查看以下教程。MAKING A PDF FROM A UIWEBVIEW

【讨论】:

以上是关于获取打印预览并将其保存为 PDF 文件的主要内容,如果未能解决你的问题,请参考以下文章

使用Iframe打印预览pdf,兼容谷歌火狐浏览器

访问报告打印输出(或 PDF)缺少打印预览中可见的信息

网页打印怎么转成pdf

DevExpress的PdfViewer添加工具栏实现PDF打开预览保存打印

如何把 Markdown 文件转化为 PDF

网页中pdf如何下载