整合營銷服務商

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

          免費咨詢熱線:

          免費開源的 JavaScript 讀取、顯示 PDF 文檔的工具庫,由 Mozilla 出品

          近新項目需要處理 PDF,研究了 PDf.js 之后覺得很不錯,于是寫篇文章推薦給大家。

          關于 PDF.js

          PDF.js 的功能和它的名字一樣簡單,是一個使用 HTML5 技術來讓前端網頁支持讀取、解析和顯示 PDF 文檔的 JS 工具庫。這個項目由大名鼎鼎的 Mozilla 組織開發并且更新維護著,沒錯,就是那個開發了火狐瀏覽器的 Mozilla。所以 pdf.js 也內置在 Firefox 的 19+ 版本中,也是火狐瀏覽器的默認 PDF 處理工具。

          一般來說,要查看 PDF 文檔,我們需要一個 PDF 閱讀器軟件,而通過 PDF.js 可以在瀏覽器中直接顯示和處理 PDF 文檔,無論是在線瀏覽、存檔或者其他基于 PDF 的功能都可以實現。

          PDF.js 項目主頁

          PDF.js 的技術特性

          • 功能強大,內置了很多實用的 api,幾乎可以對 PDF 文件“為所欲為”;
          • 兼容性超好,不僅支持現代瀏覽器,對于舊版本的瀏覽器也有很好的支持;
          • 易于上手,官方也提供了很多代碼例子。

          我用 PDF.js 來做什么?

          如果只是為什么顯示 PDF 文檔,其實大部分情況下瀏覽器都支持直接打開 PDF,之前碰到要顯示 PDF 的需求,都是直接在瀏覽器新標簽打開。

          在瀏覽器中渲染 PDF

          不過就在上周,我接到了一個需求,要在網頁上支持導入 PDF 文件,轉化成圖片保存到后端,并且還要提取 PDF 文檔中的文字。于是我就開始研究 PDF.js ,了解之后發現這個工具庫非常強大,完全可以滿足我的需求,那些在線轉換 PDF 的工具實際上都是基于 PDF.js 開發的。

          我要處理的文檔有一部分是發票,其實里面的文字并不是圖片,而是可以選擇的,這種類型的文檔通過 PDF.js 甚至可以直接獲取文字的內容,OCR 識別的過程都免了,實在太棒了。

          開發上手體驗和使用建議

          要開始使用 PDF.js ,可以直接從項目下載源碼,然后在頁面中引入 pdf.js ,就可以按照代碼例子那些來使用了。

          官方文檔

          我的實現方式

          我是在 Vue 項目中使用,所以我選擇用 npm 安裝的方式:

          npm i pdfjs-dist -S

          然后在 Vue 頁面中引入 PDF.js,注意這里的引入方式,需要在包名后加上 /webpack ,否則會報錯,原因我也沒有去深入排查。

          <template>
          <div class="hello">
              <input
                type="file"
                name="file"
                id="file"
                accept="application/pdf"
                single
                placeholder="請選擇pdf文件"
                @change="handleFile"
              />
              <canvas id="viewer" ref="viewer" :width="width" :height="height"></canvas>
            </div>
          </template>
          <script>
          import { getDocument } from "pdfjs-dist/webpack"; // 注意這里的引入方式
          
          // 省略無關代碼...
          // methods:
              handleFile(e) {
                const reader = new FileReader();
                reader.onload = (evt) => {
                  this.init(evt.target.result);
                };
          
                reader.readAsDataURL(e.target.files[0]);
              },
              async init(path) {
                // 讀取pdf
                let pdf = await getDocument(path).promise; //返回一個pdf對象
                const page = await pdf.getPage(0); // 獲取第一頁
                const viewport = page.getViewport({ scale: 1 });
                const textContent = await page.getTextContent();
                console.log(textContent.items); // 頁面的文章內容在這
          
                const context = this.canvas.getContext("2d");
                // 設置canvas的尺寸
                this.width = viewport.width;
                this.height = viewport.height;
                await page.render({ canvasContext: context, viewport: viewport }).promise; // 渲染第一頁內容
              },
          
          </script>

          上面這段代碼就是我項目 demo 中的一部分,可以實現讀取 PDF 文檔中的頁面和文字,代碼的末尾把第一頁渲染到了 canvas 中,想要轉成圖片,只要把 canvas 中的內容轉成 PNG 圖片即可,區區十來行代碼,非常簡單。

          更多建議

          除了提取文章和轉成圖片,PDF.js 還很多強大的功能,比如可以實現頁面導航,預覽時加入縮放、滾動、旋轉和手寫等注釋以及實現打印、另存為等操作。

          還有些付費軟件的功能是壓縮 PDF 文檔,PDF.js 也可以壓縮處理超大型的 PDF 文檔,技術原理是把文檔中沒有使用的結構、元素和對象刪除,大大簡化文檔,從而起到壓縮的效果。

          總之,想要在項目處理 PDF,PDF.js 是首選,并且目前沒有看到類似好用并且強大的 JS 庫,反而很多 PDF 工具都是基于 PDF.js 二次封裝的。

          免費開源說明

          Mozilla 組織本身是一個非營利性組織,成立以來一直致力于推動瀏覽器的良好發展,PDF.js 也不例外,是一個免費開源的項目,源碼基于 Apache 2.0 許可托管在 Github 上,任何人都可以免費下載來使用,用在商業項目也完全沒問題。

          ↓↓點擊查看本次分享的網站。

          PDF.js - 免費開源的 JavaScript 讀取、顯示 PDF 文檔的工具庫,由 Mozilla 開發并且持續維護|那些免費的磚

          I繪畫創作已經成為當下熱門的話題之一,而提示詞作為AI繪畫創作的重要組成部分,也備受關注。今天,Stable Diffusion中文網將為大家分享一些好用的AI繪畫提示詞工具。

          1. 無界AI官網

          無界AI官網提供了一個全面的提示詞大全,您可以根據不同的標簽類型選擇您想要的詞語,并進行復制使用。

          2. Danbooru標簽超市

          Danbooru標簽超市收集了更多細節和特殊的相關詞語,甚至包括了一些亂七八糟的神奇形容詞。您可以通過搜索聯想功能快速找到您需要的提示詞。

          3. MIKU TOOLS

          MIKU TOOLS是一個非常簡單易用的工具網站,您只需點擊您想要的標簽或提示詞,網站會自動幫您編輯好格式的文本,方便您復制粘貼使用。

          4. Stable Diffusion 法術解析

          Stable Diffusion 法術解析是一個與前面幾個工具不同的網站。它主要用于推演解析已有的AI繪畫作品,幫助您了解創作者在創作過程中使用了哪些提示詞。雖然無法百分百破解原始提示詞,但它會給您帶來很大的啟發。

          5. stariu: 圖片生成文字

          最后,我們還發現了一個好用的提示詞反推網站,名為stariu。它可以根據圖片生成相應的文字描述,為您提供更多創作靈感。

          以上就是幾個我覺得很好用的AI繪畫提示詞工具,希望對您有所幫助。無論您是剛剛開始接觸AI繪畫還是已經是一位經驗豐富的魔法師,這些工具都能為您的創作提供一些有趣的靈感和支持。快來嘗試一下吧!

          作者:SD中文網,如若轉載,請注明出處:https://www.stablediffusion-cn.com/sd/sd-use/967.html

          weet Tooltip:基于 CSS3 的工具提示插件,提供多種提示風格

          qTip:強大且精致的jQuery提示信息插件

          Hint.CSS:采用SASS構建的純CSS工具提示庫,無需 JavaScript 代碼

          grumble.js:可創建球形氣泡的工具提示

          TIPSY:類似于Facebook的工具提示插件

          響應式且移動友好性非常強的CSS jQuery工具提示插件

          Opentip:開源免費的JavaScript工具提示框架

          qTip2:第二代qTip

          Tooltipster:jQuery HTML5工具提示插件,允許你輕松創建語義和流行的工具提示

          Ajax Tooltip:Ajax工具提示腳本

          gdakram:一個簡單的動畫懸停工具提示的jQuery插件

          Hovercard:免費且輕量級的jQuery插件,可以輕松的在彈出層中顯示文本、鏈接或者其他任何 HTML 元素的相關信息

          clueTip:方便您為鏈接或其它元素添加Tooltip功能。當鏈接包括title屬性時,它的內容將變成clueTip的標題

          simpletip:一個簡單的 jQuery 的工具提示(tooltip)插件,至此靜態、動態以及Ajax加載的工具提示內容

          Pines Notify:JavaScript通知插件,用于Bootstrap或jQuery UI

          JTip:jQuery & AJAX 工具提示解決方案

          (mb)Tooltip:為你的使用jQuery的頁面提供的一個美麗的tooltip

          Prototip2:基于Prototype框架的信息提示(tooltip)插件,提供了多樣的界面效果,并且具有很高的可定制性

          UniTip:一個易于實現和定制,支持多瀏覽的tooltip腳本

          Annotator:開源jQuery文本注解插件,包含注釋、標簽、用戶

          氣泡式工具提示

          一個優秀的超鏈接鼠標懸停提示

          GIPS:清潔,簡單的jQuery插件,支持CSS主題

          地圖標簽&工具提示

          Profile Tooltip:一款顯示個人資料的工具提示插件


          主站蜘蛛池模板: tom影院亚洲国产一区二区| 久久免费精品一区二区| 国产一区二区三区不卡观| 精品国产一区二区三区2021| 国产不卡视频一区二区三区| 天堂不卡一区二区视频在线观看 | 国产在线视频一区二区三区98| 四虎精品亚洲一区二区三区 | 一区二区三区免费电影| 国产乱码精品一区二区三| 国产午夜精品一区二区三区不卡| 亚洲一区二区三区国产精品| 日本一区二区在线播放| 日韩精品无码一区二区三区免费| 日韩在线不卡免费视频一区| 日本一区中文字幕日本一二三区视频| 精品一区二区三区视频在线观看| 国产亚洲一区二区三区在线| 日韩人妻无码免费视频一区二区三区| 亚洲国产一区明星换脸| 日本韩国一区二区三区| 人妻无码一区二区三区| 久久青青草原一区二区| 一区二区日韩国产精品| 久久精品国产一区二区三区肥胖| 久久精品亚洲一区二区三区浴池| 夜夜高潮夜夜爽夜夜爱爱一区| 亚洲中文字幕无码一区| 国产一国产一区秋霞在线观看| 国模无码人体一区二区| 精品视频一区二区观看| 在线视频亚洲一区| 国产精品久久无码一区二区三区网| 久久久久久人妻一区精品| 中文字幕一区二区人妻| 久久精品国产亚洲一区二区三区| 日韩AV无码一区二区三区不卡| 亚洲欧美国产国产一区二区三区| 日韩精品中文字幕无码一区| 免费av一区二区三区| 消息称老熟妇乱视频一区二区|