iOS-htmltopdf 1.0.3

iOS-htmltopdf 1.0.3

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2015年2月

Clement Wehrung 维护。



  • Clément Wehrung

此类可创建基于 URL 的简单 PDF。页面将以与用户在 iOS 设备上打印内容相同的方式创建(与 OS X 打印输出也非常相似)。

示例代码

    self.PDFCreator = [NDHTMLtoPDF createPDFWithURL:
        [NSURL URLWithString:@"http://url.com"]
         pathForPDF:[@"~/Documents/demo.pdf" stringByExpandingTildeInPath]
         delegate:self
         pageSize:kPaperSizeA4
         margins:UIEdgeInsetsMake(10, 5, 10, 5)];

或使用块语法

     self.PDFCreator = [NDHTMLtoPDF createPDFWithURL:[NSURL URLWithString:@"http:/url.com"]
         pathForPDF:[@"~/Documents/blocksDemo.pdf" stringByExpandingTildeInPath]
         pageSize:kPaperSizeA4 margins:UIEdgeInsetsMake(10, 5, 10, 5)
         successBlock:^(NDHTMLtoPDF *htmlToPDF) {
              NSLog(@"HTMLtoPDF did succeed (%@ / %@)", htmlToPDF, htmlToPDF.PDFpath);
         } errorBlock:^(NDHTMLtoPDF *htmlToPDF) {
               NSLog(@"HTMLtoPDF did fail (%@)", htmlToPDF);
         }];

您还可以使用以下替代代码直接从 HTML 字符串生成 PDF,而无需使用 URL。这对于您希望 PDF 生成器离线工作或不想先将代码写入本地文件很有用(您可以通过 fileURLWithPath: 使用 NSURL 和本地文件)

+ (id)createPDFWithHTML:(NSString*)HTML pathForPDF:(NSString*)PDFpath delegate:(id <NDHTMLtoPDFDelegate>)delegate pageSize:(CGSize)pageSize margins:(UIEdgeInsets)pageMargins;
+ (id)createPDFWithHTML:(NSString*)HTML baseURL:(NSURL*)baseURL pathForPDF:(NSString*)PDFpath delegate:(id <NDHTMLtoPDFDelegate>)delegate pageSize:(CGSize)pageSize margins:(UIEdgeInsets)pageMargins;
+ (id)createPDFWithHTML:(NSString*)HTML pathForPDF:(NSString*)PDFpath pageSize:(CGSize)pageSize margins:(UIEdgeInsets)pageMargins successBlock:(NDHTMLtoPDFCompletionBlock)successBlock errorBlock:(NDHTMLtoPDFCompletionBlock)errorBlock;
+ (id)createPDFWithHTML:(NSString*)HTML baseURL:(NSURL*)baseURL pathForPDF:(NSString*)PDFpath pageSize:(CGSize)pageSize margins:(UIEdgeInsets)pageMargins successBlock:(NDHTMLtoPDFCompletionBlock)successBlock errorBlock:(NDHTMLtoPDFCompletionBlock)errorBlock;

纸张大小仅由矩形定义(例如,kPaperSizeA4 CGSizeMake(595.2,841.8))。

请确保创建一个属性(例如,PDFCreator),因为 NDHTMLtoPDF 是异步使用 UIWebView 的。

如果您有任何问题,请随时联系我!

@cwehrung