您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“H5界面怎么生成PDF格式進行輸出”,內容詳細,步驟清晰,細節處理妥當,希望這篇“H5界面怎么生成PDF格式進行輸出”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
H5界面生成PDF需要的倆中形式:
1:圖片的形式的保存.
主要是截取H5界面的所有內容,是圖片形式的,然后生成PDF格式.
2:截取H5界面字符串和圖片
保存的所有的字和圖片,進行拼裝,然后以不同樣式進行保存PDF格式
第一種方法很只是簡單的操作就可以,但是滿足不了需求,只能選擇第二個.
但是第2個截取保存數據和圖片,自己寫一套的話,工作量很大的.
利用系統里面的UIWebView
iOS開發人員都太熟悉不過了吧,哈哈,都是用這個方法
[UIWebView loadHTMLString:@"" baseURL:@""];
進行加載H5界面所有文字和圖片.
然后進行下面的方法進行保存數據到本地
這個是UIWebVIew擴展類,自己寫就行
- (NSData *)converToPDF{
UIViewPrintFormatter *fmt = [self viewPrintFormatter];
UIPrintPageRenderer *render = [[UIPrintPageRenderer alloc] init];
[render addPrintFormatter:fmt startingAtPageAtIndex:0];
CGRect page;
page.origin.x=0;
page.origin.y=0;
page.size.width=600;
page.size.height=768;
CGRect printable=CGRectInset( page, 50, 50 );
[render setValue:[NSValue valueWithCGRect:page] forKey:@"paperRect"];
[render setValue:[NSValue valueWithCGRect:printable] forKey:@"printableRect"];
NSMutableData * pdfData = [NSMutableData data];
UIGraphicsBeginPDFContextToData( pdfData, CGRectZero, nil );
for (NSInteger i=0; i < [render numberOfPages]; i++)
{
UIGraphicsBeginPDFPage();
CGRect bounds = UIGraphicsGetPDFContextBounds();
[render drawPageAtIndex:i inRect:bounds];
}
UIGraphicsEndPDFContext();
return pdfData;
}
//點擊保存進行調用上面的方法
- (void)savePDF
{
NSData *data = [_webView converToPDF]; 調用上面的方法
NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:[NSString stringWithFormat:@"Documents/testFile.pdf"]];
BOOL result = [data writeToFile:path atomically:YES];
[MBProgressHUD hideHUD];
if (result) {
"保存成功"
}else{
"保存失敗";
}
從本地獲取路徑進行顯示PDF
NSURL *pdfURL = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:pdfURL];
[self.webView setScalesPageToFit:YES];
[self.webView loadRequest:request];
}
接著從本地打開就ok了.
讀到這里,這篇“H5界面怎么生成PDF格式進行輸出”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。