溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

H5界面怎么生成PDF格式進(jìn)行輸出

發(fā)布時(shí)間:2022-03-24 14:11:38 來源:億速云 閱讀:1985 作者:iii 欄目:web開發(fā)

本文小編為大家詳細(xì)介紹“H5界面怎么生成PDF格式進(jìn)行輸出”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“H5界面怎么生成PDF格式進(jìn)行輸出”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識(shí)吧。

  H5界面生成PDF需要的倆中形式:

  1:圖片的形式的保存.

  主要是截取H5界面的所有內(nèi)容,是圖片形式的,然后生成PDF格式.

  2:截取H5界面字符串和圖片

  保存的所有的字和圖片,進(jìn)行拼裝,然后以不同樣式進(jìn)行保存PDF格式

  第一種方法很只是簡(jiǎn)單的操作就可以,但是滿足不了需求,只能選擇第二個(gè).

  但是第2個(gè)截取保存數(shù)據(jù)和圖片,自己寫一套的話,工作量很大的.

  利用系統(tǒng)里面的UIWebView

  iOS開發(fā)人員都太熟悉不過了吧,哈哈,都是用這個(gè)方法

  [UIWebView loadHTMLString:@"" baseURL:@""];

  進(jìn)行加載H5界面所有文字和圖片.

  然后進(jìn)行下面的方法進(jìn)行保存數(shù)據(jù)到本地

  這個(gè)是UIWebVIew擴(kuò)展類,自己寫就行

  - (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;

  }

  //點(diǎn)擊保存進(jìn)行調(diào)用上面的方法

  - (void)savePDF

  {

  NSData *data = [_webView converToPDF]; 調(diào)用上面的方法

  NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:[NSString stringWithFormat:@"Documents/testFile.pdf"]];

  BOOL result = [data writeToFile:path atomically:YES];

  [MBProgressHUD hideHUD];

  if (result) {

  "保存成功"

  }else{

  "保存失敗";

  }

  從本地獲取路徑進(jìn)行顯示PDF

  NSURL *pdfURL = [NSURL fileURLWithPath:path];

  NSURLRequest *request = [NSURLRequest requestWithURL:pdfURL];

  [self.webView setScalesPageToFit:YES];

  [self.webView loadRequest:request];

  }

  接著從本地打開就ok了.

讀到這里,這篇“H5界面怎么生成PDF格式進(jìn)行輸出”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI