Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 亚洲精品国产高清嫩草影院,国产午夜精品片一区二区三区,亚洲国内精品久久

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          怎么把pdf轉換成html格式?分享兩個超簡單方法

          工作中,我們經常會處理很多種類的文件,相信大多數人處理最多的應該是pdf文件吧?我們經常使用pdf文件的主要原因就是pdf比較便于查看,也易于傳輸,而且它的體積很小,不會特別占用設備的內存。但是pdf文件也有一些缺點,它不支持在線編輯,不能夠仔細查看文件中的圖片,所以我們在工作中有時候需要將pdf轉成html格式的文件。但是我們怎么把pdf轉換成html格式呢?小編今天跟大家分享兩個超級簡單的方法,大家趕快來看一看吧!

          怎么把pdf轉換成html格式?

          方法一、小圓象PDF轉換器

          小圓象PDF轉換器是一款非常專業的PDF轉換軟件,它不僅支持PDFWord、Excel、PPTHtml等格式的文件,還有一些PDF小工具,像是PDF加密/解密、PDF合并/拆分、PDF壓縮等,都能幫助學習黨和工作黨更好的處理文件。它對文件的識別也很精確,轉換后文件準確率很高。同時它的安全性也很高,不會泄露用戶任何的隱私。

          第一步:進入小圓象PDF轉換器官網(網址:https://www.xiaoyuanxiang.cn/),點擊客戶端下載,軟件安裝完畢后,打開軟件,點擊第一個功能——PDF轉文件。

          第二步:在上方各種功能中,選擇——PDFHtml,隨后將文件添加到虛線框內,等待文件添加完畢,調整輸出目錄,最后點擊右下角——開始轉換,就可以轉換完成了!

          方法二、PDF 24 Tools

          這款軟件功能非常豐富,一共有24種功能,每種都很實用,頁面很有設計感,除了可以將PDF轉換為其他格式文件以外,還支持PDF轉圖像、從PDF文件中讀取圖像、PDF旋轉、刪除PDF頁面等相關操作。它轉換文件的成功率也比較高,轉換后的文件內容大致是一樣的,比較適合日常使用。不過它也有一個小缺點,那就是它的網頁上會有一些小廣告。

          第一步:進入軟件首頁,在眾多功能中找到第一行最后一個功能——PDF轉換器,點擊進入下一頁面。

          第二步:選擇第二項——將PDF轉換成,進入下一步。

          第三步:將本地文件上傳成功后,點擊左下角——格式,選擇HTML格式,再點擊右下角——轉換,等待片刻就可以轉換成功。

          看完這篇文章,大家知道該怎么把pdf轉換成html格式了吧?就個人而言,小編還是更喜歡小圓象PDF轉化器一些,它的頁面很簡潔,沒有小廣告,而且操作會更簡單些,不知道大家喜歡哪種方法呢?

          html 轉 pdf 技術方案調研:從入門到精通的全方位解析

          **引言:**

          在Web開發中,有時我們需要將HTML內容轉換為PDF格式,以滿足打印、下載或郵件發送的需求。本文將深入調研并解析目前主流的HTML轉PDF技術方案,涵蓋從原生API到第三方庫的多種實現方式,讓您全面了解各種方案的優劣,并通過具體的代碼實例幫助您快速掌握實現技巧。

          ---

          ### **一、原生API:打印預覽生成PDF**

          **標題:利用瀏覽器內置打印功能**

          大多數現代瀏覽器都內置了打印預覽功能,通過調整打印設置,可以選擇“保存為PDF”。雖然這種方式并非直接生成PDF,但對于簡單的HTML內容轉換十分便捷。

          ```javascript

          // 觸發打印對話框

          window.print();

          // 或者更精細地控制打印內容

          const myPrintContent = document.getElementById('printable-section');

          myPrintContent.style.display = 'block';

          myPrintContent.focus();

          myPrintContent.print();

          ```

          然而,這種方法的局限性在于無法自定義PDF的樣式、頁眉頁腳等內容,而且不適用于自動化流程或服務器端生成PDF。

          ---

          ### **二、Headless Chrome Puppeteer**

          **標題:Headless Chrome Puppeteer的HTML轉PDF解決方案**

          Puppeteer是由Google開發的Node庫,它提供了一種可控的方式來通過Chrome Headless運行JavaScript并與頁面交互,包括生成PDF。

          ```javascript

          const puppeteer = require('puppeteer');

          async function generatePDF(url, outputPath) {

          const browser = await puppeteer.launch();

          const page = await browser.newPage();


          await page.goto(url, {waitUntil: 'networkidle2'});

          await page.emulateMediaType('print'); // 模擬打印媒體類型,確保樣式正確

          await page.pdf({

          path: outputPath,

          format: 'A4',

          printBackground: true, // 是否包含背景色

          margin: {

          top: '1cm',

          bottom: '1cm',

          left: '1cm',

          right: '1cm'

          }

          });

          await browser.close();

          }

          generatePDF('http://example.com', 'output.pdf');

          ```

          Puppeteer的優點是可以精確控制PDF樣式,支持CSS3,且跨平臺兼容性好。但需要注意的是,它需要在服務器端部署Chrome,并占用一定的計算資源。

          ---

          ### **三、jsPDF庫**

          **標題:小巧輕便的jsPDF庫**

          jsPDF是一個純JavaScript編寫的PDF生成庫,主要面向輕量級應用場景,可以將HTML內容轉化為PDF,但對CSS的支持有限。

          ```javascript

          import jsPDF from 'jspdf';

          const doc = new jsPDF();

          doc.text('Hello World!', 10, 10);

          doc.save('a4.pdf');

          // 通過html2canvas配合實現HTML轉PDF(較復雜場景)

          import html2canvas from 'html2canvas';

          import jsPDF from 'jspdf';

          async function convertHtmlToPdf(element, filename) {

          const canvas = await html2canvas(element);

          const imgData = canvas.toDataURL('image/png');

          const pdf = new jsPDF();

          pdf.addImage(imgData, 'PNG', 10, 10, 180, 160);

          pdf.save(filename);

          }

          ```

          jsPDF的優點在于輕量、易于集成,適用于簡單的文字排版和圖表繪制。但因其不直接支持HTML渲染,復雜HTML內容需要借助html2canvas等庫先轉為圖像再插入PDF。

          ---

          ### **四、Apache PDFBox**

          **標題:Java世界的HTML轉PDF工具——Apache PDFBox**

          Apache PDFBox是一個開源的Java庫,可以處理PDF文檔的創建、修改、提取等操作,同時也支持HTML轉PDF,適用于后端Java環境。

          ```java

          import org.apache.pdfbox.pdmodel.PDDocument;

          import org.apache.pdfbox.pdmodel.PDPage;

          import org.apache.pdfbox.pdmodel.PDPageContentStream;

          import org.apache.pdfbox.pdmodel.common.PDRectangle;

          import org.apache.pdfbox.pdmodel.font.PDType1Font;

          import org.apache.pdfbox.rendering.PDFRenderer;

          import org.apache.pdfbox.tools.html2pdf.HtmlConverter;

          public void convertHtmlToPdf(String html, String outputFilePath) throws IOException {

          HtmlConverter.convertToPdf(new File(html), new File(outputFilePath));

          }

          ```

          Apache PDFBox雖不是JavaScript庫,但因其強大的功能和對企業級應用的良好支持,成為了許多Java項目的選擇。

          ---

          **總結:**

          選擇何種HTML轉PDF方案取決于具體的應用場景和需求。原生打印API適用于簡單的本地操作,Puppeteer適用于服務端生成高質量PDF,jsPDF適用于輕量級、純JavaScript環境,而Apache PDFBox則在Java環境中表現出眾。理解每個方案的特性和限制,將有助于我們在實際項目中做出合適的選擇。無論哪種方式,HTML轉PDF都是現代Web開發中的一項重要技能,值得深入學習和掌握。

          嘍,今天是一篇HTML to PDF速食指南。

          Java 轉換 HTML 到PDF有許多類庫,今天我們介紹一下第三方免費的類庫OpenPDF。

          1. OpenPDF

          OpenPDF是免費的Java類庫 ,遵從LGPL 和 MPL協議,所以基本上能夠可以隨意使用。OpenPDF是基于iTEXT的,目前來說也是維護的比較好的Java操作PDF的開源軟件。

          話不多說,且看所需要的依賴,

          <dependency>    
              <groupId>org.jsoup</groupId>    
              <artifactId>jsoup</artifactId>   
              <version>1.13.1</version> 
          </dependency>
          <dependency>
              <groupId>com.openhtmltopdf</groupId>
              <artifactId>openhtmltopdf-core</artifactId>
              <version>1.0.6</version>
          </dependency>
          <dependency>
              <groupId>com.openhtmltopdf</groupId>
              <artifactId>openhtmltopdf-pdfbox</artifactId>
              <version>1.0.6</version>
          </dependency>
          

          jsoup可以將html文件轉換成輸入流等,也可以遍歷html的DOM節點,提取元素及樣式等。

          2. 示例

          本篇示例將以下html文件轉換成pdf

          <html>
          <head>
              <style>
                  .center_div {
                      border: 1px solid #404e94;
                      margin-left: auto;
                      margin-right: auto;
                      background-color: #f6d0ed;
                      text-align: left;
                      padding: 8px;
                  }
                  table {
                      width: 100%;
                      border: 1px solid black;
                  }
                  th, td {
                      border: 1px solid black;
                  }
                  body,html,input{font-family:"msyh";}
              </style>
          </head>
          <body>
          <div class="center_div">
              <h1>Hello java North!</h1>
              <div>
                  <p>convert html to pdf.</p>
              </div>
              <div>
                  <table>
                      <thead>
                          <th>ROLE</th>
                          <th>NAME</th>
                          <th>TITLE</th>
                      </thead>
                      <tbody>
                          <tr>
                              <td>MARKSMAN</td>
                              <td>ASHE</td>
                              <td>THE FROST ARCHER</td>
                          </tr>
                          <tr>
                              <td>MAGES</td>
                              <td>ANNIE</td>
                              <td>THE DARK CHILD</td>
                          </tr>
                          <tr>
                              <td>射手</td>
                              <td>凱塔琳</td>
                              <td>皮城女警</td>
                          </tr>
                      </tbody>
                  </table>
              </div>
          </div>
          </body>
          </html>
          

          以上html用瀏覽器打開如下,亂碼是因為中文字體不識別,下面轉換的時候會加載對應的字體來進行轉換。

          使用Java轉換HTML到PDF代碼如下:

          public class HtmlToPDFOpenSource {
              public static void main(String[] args) throws IOException {
                  HtmlToPDFOpenSource htmlToPDFOpenSource = new HtmlToPDFOpenSource();
                  htmlToPDFOpenSource.generatePdfByOpenhtmltopdf();
              }
          
              private  void generatePdfByOpenhtmltopdf() throws IOException {
                  File inputHtml = new File("E:\\javaNorth\\java-study-note\\javaOpenSource\\src\\main\\resources\\test.html");
          
                  //加載html文件
                  Document document = Jsoup.parse(inputHtml, "UTF-8");
                  document.outputSettings().syntax(Document.OutputSettings.Syntax.html);
                  
                  //引入資源目錄,可以單獨引入css,圖片文件等
                  String baseUri = FileSystems.getDefault()
                      .getPath("javaOpenSource\\src\\main\\resources")
                      .toUri().toString();
                 
                  try (OutputStream os = new FileOutputStream("javaOpenSource\\src\\main\\resources\\testOpenLeagueoflegends1.pdf")) {
                      PdfRendererBuilder builder = new PdfRendererBuilder();
                      builder.withUri("javaOpenSource\\src\\main\\resources\\testOpenLeagueoflegends1.pdf");
                      builder.toStream(os);
                      builder.withW3cDocument(new W3CDom().fromJsoup(document), baseUri);
                      
                      //引入指定字體,注意字體名需要和css樣式中指定的字體名相同
                      builder.useFont(new File("javaOpenSource\\src\\main\\resources\\fonts\\msyh.ttf"),"msyh",1,BaseRendererBuilder.FontStyle.NORMAL, true);
                      builder.run();
                  }
              }
          }
          

          使用Java代碼轉換成PDF如下(示例中使用了微軟雅黑中文字體):

          上述html文件中增加如下外部樣式

          <link href="style.css" rel="stylesheet">
          

          并在resources目錄下添加style.css文件,重新生成PDF文件如下。

          3. 總結

          本片介紹了使用OpenPDF將html文件轉換成PDF文件。同時也使用了自定義字體,外部樣式。但是以下幾點需要格外注意。

          • Java代碼中加載的字體名稱要和HTML引用的CSS樣式中的字體名相同 ({font-family:"msyh";})。
          • HTML文件標簽節點必須閉合(<xxx></xxx>).否則解析會失敗。

          全部示例在此:https://github.com/javatechnorth/java-study-note/tree/master/javaOpenSource/src/main/java/pdf

          文章來源:Java技術指北


          主站蜘蛛池模板: 免费无码一区二区三区蜜桃大 | 中文无码精品一区二区三区| 久久精品一区二区影院| 精品永久久福利一区二区| 国产成人一区二区三区免费视频 | 乱色精品无码一区二区国产盗| 国产第一区二区三区在线观看 | 精品视频在线观看一区二区三区| 国产成人精品第一区二区| 亚洲爆乳精品无码一区二区三区 | 在线精品视频一区二区| 91精品一区二区综合在线| 无码人妻精品一区二区三区夜夜嗨 | 精品无码日韩一区二区三区不卡| 中文字幕一区在线| 久久99精品免费一区二区| 亚洲av成人一区二区三区在线观看| 精品一区二区三区免费毛片| 国产精品日韩欧美一区二区三区| 亚洲午夜精品一区二区麻豆 | 国产成人AV一区二区三区无码| 国产av福利一区二区三巨| 精品国产毛片一区二区无码| 亚洲免费一区二区| 国产精品亚洲不卡一区二区三区| 免费无码一区二区| 久久久久人妻一区精品果冻| 一区在线免费观看| 国产av成人一区二区三区| 亚洲图片一区二区| 国产精品av一区二区三区不卡蜜| 久久精品日韩一区国产二区| 国产肥熟女视频一区二区三区 | 久久久91精品国产一区二区| 久久国产精品视频一区| 国产成人一区二区三区免费视频| 亚洲国产精品一区二区第四页| 在线视频一区二区三区三区不卡 | 中文字幕精品一区二区三区视频| 亚洲一区二区三区在线观看精品中文| 国精品无码一区二区三区在线|