整合營銷服務商

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

          免費咨詢熱線:

          想知道PDF轉HTML怎么轉?分享三種PDF轉HTM

          想知道PDF轉HTML怎么轉?分享三種PDF轉HTML的方法


          工作中,我們經常會使用到HTML和PDF。HTML格式是一種超文本標記語言,通常我們所瀏覽的網頁就是HTML的。而PDF是我們在傳輸文件時常用到的格式,它可以保證文件的內容、格式以及排版的穩定性。有時候我們需要將PDF轉化為HTML,才能對它里面的內容進行修改。那你們知道PDF轉HTML怎么轉嗎?下面就為大家分享三種轉換方法。

          方法一:運用萬能文字識別軟件進行轉換

          萬能文字識別是一款功能豐富、高效穩定的辦公軟件,它支持PDF轉HTML格式,能夠準確識別文件字體、字號、圖片大小,保留原始數據和布局。該軟件同時還包含其他PDF轉換處理功能,還有文字識別,圖片翻譯等一系列工具。

          步驟一:打開萬能文字識別軟件,找到【PDF轉換】,選擇【PDF轉HTML】。

          步驟二:點擊【添加PDF文件】,選擇需要轉換的文件,點擊【開始轉換】,文件就轉換好了。

          該軟件在手機上也可下載使用,功能同樣很豐富,感興趣的小伙伴可以自行使用。

          方法二:借助WPS office軟件來轉換

          這是一款支持Word、Excel、PPT等格式進行編輯的軟件,我們可以通過它將PDF轉成HTML格式。但是它不能直接轉換,需要先將其轉換成Word格式才能再進行下一步操作。

          步驟一:打開PDF文件,選擇工具欄中的【轉換】,再選擇【PDF轉Word】,等待轉換完成。

          步驟二:打開轉成Word格式文件,點擊【文件】,選擇【另存為】,更改文件類型為【單一網頁文件*.mht;*mhtml】,接下來點擊【保存】,就可以了。

          方法三:使用修改文件拓展名進行轉換

          修改文件拓展名是一種比較直接的格式轉換方法,比較適合對只需要轉換一個文件的小伙伴。

          步驟:右鍵點擊需要轉換格式的PDF文件,選擇【屬性】,將文件名后綴的【.PDF】修改為【.HTML】,點擊【確定】,就完成了。

          不過我們在轉換之前,需要先備份原文件,避免出現后綴改錯,而導致文件打不開的情況。

          今天分享的內容就先到這了,大家都知道PDF轉HTML怎么轉了嗎?快點動手實際操作轉換一下吧。

          近有一個業務是前端要上傳word格式的文稿,然后用戶上傳完之后,可以用瀏覽器直接查看該文稿,并且可以在富文本框直接引用該文稿,所以上傳word文稿之后,后端保存到db的必須是html格式才行,所以涉及到word格式轉html格式。

          通過調查,這個word和html的處理,有兩種方案,方案1是前端做這個轉換。方案2是把word文檔上傳給后臺,后臺轉換好之后再返回給前端。至于方案1,看到大家的反饋都說很多問題,所以就沒采用前端轉的方案,最終決定是后端轉化為html格式并返回給前段預覽,待客戶預覽的時候,確認格式沒問題之后,再把html保存到后臺(因為word涉及到的格式太多,比如圖片,visio圖,表格,圖片等等之類的復雜元素,轉html的時候,可能會很多格式問題,所以要有個預覽的過程)。

          對于word中普通的文字,問題倒不大,主要是文本之外的元素的處理,比如圖片,視頻,表格等。針對我本次的文章,只處理了圖片,處理的方式是:后臺從word中找出圖片(當然引入的jar包已經帶了獲取word中圖片的功能),上傳到服務器,拿到絕對路徑之后,放入到html里面,這樣,返回給前端的html內容,就可以直接預覽了。


          maven引入相關依賴包如下:

           <poi-scratchpad.version>3.14</poi-scratchpad.version>
                  <poi-ooxml.version>3.14</poi-ooxml.version>
                  <xdocreport.version>1.0.6</xdocreport.version>
                  <poi-ooxml-schemas.version>3.14</poi-ooxml-schemas.version>
                  <ooxml-schemas.version>1.3</ooxml-schemas.version>
                  <jsoup.version>1.11.3</jsoup.version>


          <dependency>
                      <groupId>org.apache.poi</groupId>
                      <artifactId>poi-scratchpad</artifactId>
                      <version>${poi-scratchpad.version}</version>
                  </dependency>
                  <dependency>
                      <groupId>org.apache.poi</groupId>
                      <artifactId>poi-ooxml</artifactId>
                      <version>${poi-ooxml.version}</version>
                  </dependency>
                  <dependency>
                      <groupId>fr.opensagres.xdocreport</groupId>
                      <artifactId>xdocreport</artifactId>
                      <version>${xdocreport.version}</version>
                  </dependency>
                  <dependency>
                      <groupId>org.apache.poi</groupId>
                      <artifactId>poi-ooxml-schemas</artifactId>
                      <version>${poi-ooxml-schemas.version}</version>
                  </dependency>
                  <dependency>
                      <groupId>org.apache.poi</groupId>
                      <artifactId>ooxml-schemas</artifactId>
                      <version>${ooxml-schemas.version}</version>
                  </dependency>
                  <dependency>
                      <groupId>org.jsoup</groupId>
                      <artifactId>jsoup</artifactId>
                      <version>${jsoup.version}</version>
                  </dependency>

          word轉html,對于word2003和word2007轉換方式不一樣,因為word2003和word2007的格式不一樣,工具類如下:

          使用方法如下:

          public String uploadSourceNews(MultipartFile file)  {
                  String fileName=file.getOriginalFilename();
                  String suffixName=fileName.substring(fileName.lastIndexOf("."));
                  if (!".doc".equals(suffixName) && !".docx".equals(suffixName)) {
                      throw new UploadFileFormatException();
                  }
                  DateTimeFormatter formatter=DateTimeFormatter.ofPattern("yyyyMM");
                  String dateDir=formatter.format(LocalDate.now());
                  String directory=imageDir + "/" + dateDir + "/";
                  String content=null;
                  try {
                      InputStream inputStream=file.getInputStream();
                      if ("doc".equals(suffixName)) {
                          content=wordToHtmlUtil.Word2003ToHtml(inputStream, imageBucket, directory, Constants.HTTPS_PREFIX + imageVisitHost);
                      } else {
                          content=wordToHtmlUtil.Word2007ToHtml(inputStream, imageBucket, directory, Constants.HTTPS_PREFIX + imageVisitHost);
                      }
                  } catch (Exception ex) {
                      logger.error("word to html exception, detail:", ex);
                      return null;
                  }
                  return content;
              }

          關于doc和docx的一些存儲格式介紹:

          docx 是微軟開發的基于 xml 的文字處理文件。docx 文件與 doc 文件不同, 因為 docx 文件將數據存儲在單獨的壓縮文件和文件夾中。早期版本的 microsoft office (早于 office 2007) 不支持 docx 文件, 因為 docx 是基于 xml 的, 早期版本將 doc 文件另存為單個二進制文件。

          DOCX is an XML based word processing file developed by Microsoft. DOCX files are different than DOC files as DOCX files store data in separate compressed files and folders. Earlier versions of Microsoft Office (earlier than Office 2007) do not support DOCX files because DOCX is XML based where the earlier versions save DOC file as a single binary file.


          可能你會問了,明明是docx結尾的文檔,怎么成了xml格式了?

          很簡單:你隨便選擇一個docx文件,右鍵使用壓縮工具打開,就能得到一個這樣的目錄結構:


          所以你以為docx是一個完整的文檔,其實它只是一個壓縮文件。


          參考:

          https://www.cnblogs.com/ct-csu/p/8178932.html

          日分享最新,最流行的軟件開發知識與最新行業趨勢,希望大家能夠一鍵三連,多多支持,跪求關注,點贊,留言。

          本文討論了對 HTML 代碼可視化文檔的需求,并提供了一個免費的 API 解決方案,可將 HTML 字符串轉換為 PNG 屏幕截圖。

          自 20 世紀 80 年代后期的構想以來,超文本標記語言 (HTML) 一直是在線顯示網頁的關鍵元素。這種無處不在的編程語言繼續提供詳細的框架,用于構建我們在 Web 上看到和交互的內容,允許我們以純文本代碼格式化文本和多媒體組件,這很簡單,可以在需要時進行更改。
          HTML 的轉變
          與幾乎所有編程語言的情況一樣,HTML自推出以來的幾十年中已經轉變為包含許多新功能,以適應典型的當代壓力,例如社區反饋/批評和相鄰 Web 開發技術的快速發展。在現代 HTML 代碼的輸出中,我們可以很容易地看到這種轉換的結果;例如,最近的 HTML 迭代——HTML5,于 2014 年推出——提供了用于嵌入視頻和音頻文件的新的、簡單的元素,以及移動顯示和整體移動功能中急需的改進。

          當然,新元素和顯示質量的改進并不是網站的 HTML 代碼會隨著時間的推移可靠地改變的唯一原因。網站不斷設計和重新設計,可能是為了創新,也是為了響應用戶反饋產生的趨勢。例如,2014 年開發的網站很可能融合了各種當代設計趨勢,而與當年 HTML5 中引入的變化無關。在該項目之后的幾年里,該網站的開發人員可能會發現自己至少多次重復了他們的 HTML 代碼的一部分,同時一直在為不可避免的 HTML6 發布和最終合并其新的和改進的功能而構建。

          鑒于 HTML 開發中的這些自然進展,出現了一個重要問題:我們如何有效地跟蹤和記錄我們網站 HTML 代碼的增長?考慮到 HTML 輸出的固有視覺特性,答案相對簡單。我們可以輕松地以靜態二維圖像文件(屏幕截圖)的形式存儲 HTML 網站的迭代,并且我們可以相對輕松地以編程方式完成此轉換。

          網頁截圖
          捕獲 HTML 屏幕截圖具有大量實際的業務應用程序。當為網站編寫新的 HTML 代碼時,渲染該 HTML 代碼輸出的圖像作為一種簡單、易于共享的“狀態檢查”,用于檢查其內容在給定時間點如何顯示在 Web 瀏覽器上。出于同樣的原因,這樣的屏幕截圖提供了一種極好的方法來快速測試 HTML 代碼的新的、實驗性的迭代,使開發人員可以輕松地創建和存儲開發中項目的各種版本——包括成功的和不成功的。屏幕截圖還為實時網站中不可避免的問題提供了一種理想的可視化記錄方式,從而更容易跟蹤棘手的問題并跟蹤它們在不同設備、瀏覽器或操作系統上的顯示方式。

          教程
          本教程的目的是提供一個簡單、免費、易于使用的 API 解決方案,用于在 Java 中將 HTML 字符串轉換為 PNG 屏幕截圖。此 API 將完整呈現網站,返回 HTML 在常規 Web 瀏覽器視圖中顯示內容的屏幕截圖。它支持所有現代、高級的 Web 開發功能,包括與 HTML5、CSS、JavaScript等相關的功能。為方便起見,頁面下方提供了現成的 Java 代碼示例,以幫助您輕松構建 API 調用。

          該接口有兩個必填的請求參數,包括以下內容:

          你的 HTML 字符串
          一個免費的 Cloudmersive API 密鑰(您可以通過訪問我們的網站并注冊一個免費帳戶來獲得一個)。
          除了上述強制輸入外,此 API 還提供了幾個可選參數,允許進一步自定義您的輸入請求。這些可選參數包括以下內容:

          Extra loading wait:網頁完成加載后截屏前等待的額外毫秒數(對于非常異步的網站很有幫助)。
          屏幕截圖高度:屏幕截圖的所需高度,以像素表示(默認為 1280 x 1024)。提供整數“0”會觸發默認設置,而提供整數“-1”會要求 API 測量并嘗試屏幕高度屏幕截圖。
          屏幕截圖寬度:屏幕截圖的所需寬度,以像素表示(也默認為標準 1280 x 1024 測量值)。提供整數“0”或“-1”會產生與上述“屏幕截圖高度”參數中所述相同的結果。
          在其響應中,此 API 將提供一個包含新 PNG 文件編碼的字符串。

          要在Java中構建 API 調用,第一步是安裝 SDK。這可以使用 Maven 來完成,方法是首先將以下引用添加到存儲庫中pom.xml:

          <repositories>
          <repository>
          <id>jitpack.io</id>
          <url>https://jitpack.io</url>
          </repository>
          </repositories>



          之后,將下面的引用添加到依賴項中pom.xml:

          <dependencies>
          <dependency>
          <groupId>com.github.Cloudmersive</groupId>
          <artifactId>Cloudmersive.APIClient.Java</artifactId>
          <version>v4.25</version>
          </dependency>
          </dependencies>



          要改為使用 Gradle 安裝SDK,請在根目錄build.gradle(存儲庫末尾)中添加您的引用:

          allprojects {
          repositories {
          ...
          maven { url 'https://jitpack.io' }
          }
          }


          然后添加依賴項build.gradle:

          dependencies {
          implementation 'com.github.Cloudmersive:Cloudmersive.APIClient.Java:v4.25'
          }


          安裝完成后,剩下的就是復制并粘貼以下代碼示例,并完成如上所述的強制和可選請求參數:

          // Import classes:
          //import com.cloudmersive.client.invoker.ApiClient;
          //import com.cloudmersive.client.invoker.ApiException;
          //import com.cloudmersive.client.invoker.Configuration;
          //import com.cloudmersive.client.invoker.auth.*;
          //import com.cloudmersive.client.ConvertWebApi;

          ApiClient defaultClient=Configuration.getDefaultApiClient();

          // Configure API key authorization: Apikey
          ApiKeyAuth Apikey=(ApiKeyAuth) defaultClient.getAuthentication("Apikey");
          Apikey.setApiKey("YOUR API KEY");
          // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
          //Apikey.setApiKeyPrefix("Token");

          ConvertWebApi apiInstance=new ConvertWebApi();
          HtmlToPngRequest input=new HtmlToPngRequest(); // HtmlToPngRequest | HTML to PNG request parameters
          try {
          byte[] result=apiInstance.convertWebHtmlToPng(input);
          System.out.println(result);
          } catch (ApiException e) {
          System.err.println("Exception when calling ConvertWebApi#convertWebHtmlToPng");
          e.printStackTrace();
          }


          一旦你完成了這一步,你就大功告成了——你現在可以調用這個 API 并輕松地將 HTML 字符串呈現為 PNG 屏幕截圖。

          注意: 您的免費層級 API 密鑰將提供每月 800 次 API 調用的限制,無需承諾。一旦達到該限制,您的總數將在下個月重置。


          主站蜘蛛池模板: 无码人妻一区二区三区免费手机| 国产一区二区三区免费看| 中文字幕永久一区二区三区在线观看 | 精品亚洲AV无码一区二区三区| 国产成人无码精品一区二区三区| 国产午夜精品一区二区三区漫画| 亲子乱av一区二区三区| 无码av不卡一区二区三区| 国产美女av在线一区| 无码少妇一区二区三区| 日本免费一区二区三区 | 国产一区二区三区不卡在线看 | 亚洲国产成人精品无码一区二区| 中文字幕av人妻少妇一区二区 | 国产在线观看一区二区三区精品| 无码日韩精品一区二区免费暖暖| 无码人妻一区二区三区一| 麻豆一区二区三区蜜桃免费| 日本一区二区三区高清| 亚洲精品日韩一区二区小说| 午夜视频久久久久一区 | 激情综合丝袜美女一区二区 | 久久精品一区二区三区资源网| 亚洲国产美女福利直播秀一区二区| 国产福利一区视频| 国产一区二区三区不卡观| 国产一区二区三区小说| 国产一区二区三区高清在线观看 | 福利电影一区二区| 国产麻豆精品一区二区三区v视界 国产美女精品一区二区三区 | 色欲精品国产一区二区三区AV| 国内精品视频一区二区三区| 手机看片福利一区二区三区| 国产成人精品一区二区A片带套| 久久国产高清一区二区三区| 亚洲AV日韩AV一区二区三曲| 亚洲爆乳无码一区二区三区| 日韩一区二区三区免费播放| 国产短视频精品一区二区三区| 中文无码精品一区二区三区| 精品久久久久久中文字幕一区|