欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用JavaScript將圖片合并為PDF的實現(xiàn)

 更新時間:2024年07月02日 09:34:17   作者:xulihang  
在日常工作中,我們可能需要拍攝一些照片并將圖像合并到PDF文件中,這可以通過許多應(yīng)用來完成,Dynamsoft Document Viewer讓這一操作更加方便,在本文中,我們將使用Dynamsoft Document Viewer創(chuàng)建一個Web應(yīng)用,用JavaScript將圖像合并到PDF中,需要的朋友可以參考下

介紹

在日常工作中,我們可能需要拍攝一些照片并將圖像合并到PDF文件中。這可以通過許多應(yīng)用來完成。Dynamsoft Document Viewer讓這一操作更加方便,因為它可以在瀏覽器中執(zhí)行??梢约稍摬僮鞯轿覀兊脑诰€網(wǎng)站、CRM系統(tǒng)中。

在本文中,我們將使用Dynamsoft Document Viewer創(chuàng)建一個Web應(yīng)用,用JavaScript將圖像合并到PDF中。

新建HTML文件

創(chuàng)建一個包含以下模板的新HTML文件。

<!DOCTYPE html>
<html>
<head>
  <title>Document Scanner</title>
  <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" />
  <style>
  </style>
</head>
<body>
  <h2>Merge Images into PDF</h2>
  <script>
  </script>
</body>
</html>

添加依賴項

在頁面中包含Dynamsoft Document Viewer。

<script src="https://cdn.jsdelivr.net/npm/dynamsoft-document-viewer@1.1.0/dist/ddv.js"></script>
<link rel="stylesheet"  rel="external nofollow" >

選擇文件

接下來,選擇要合并的文件。

添加用于選擇多個文件的input元素。

<input type="file" name="file" id="file" multiple="multiple">

然后,我們可以使用以下JavaScript獲取所選文件:

let fileInput = document.getElementById("file");
let files = fileInput.files;

將圖像合并為PDF

在頁面中添加按鈕以執(zhí)行合并圖像到PDF的操作。

HTML:

<button onclick="merge()">Merge into PDF</button>

JavaScript:

使用許可證初始化Dynamsoft Document Viewer??梢栽?a rel="external nofollow" target="_blank">此處申請許可證。

Dynamsoft.DDV.Core.license = "DLS2eyJoYW5kc2hha2VDb2RlIjoiMjAwMDAxLTE2NDk4Mjk3OTI2MzUiLCJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSIsInNlc3Npb25QYXNzd29yZCI6IndTcGR6Vm05WDJrcEQ5YUoifQ=="; // Public trial license which is valid for 24 hours
Dynamsoft.DDV.Core.engineResourcePath = "https://cdn.jsdelivr.net/npm/dynamsoft-document-viewer@1.1.0/dist/engine";// Lead to a folder containing the distributed WASM files
await Dynamsoft.DDV.Core.loadWasm();
await Dynamsoft.DDV.Core.init();
Dynamsoft.DDV.setProcessingHandler("imageFilter", new Dynamsoft.DDV.ImageFilter());

使用Dynamsoft Document Viewer的DocumentManager創(chuàng)建新的文檔實例。

const doc = Dynamsoft.DDV.documentManager.createDocument();

以blob格式讀取文件并將其加載到文檔中。

let fileInput = document.getElementById("file");
let files = fileInput.files;
for (let index = 0; index < files.length; index++) {
  const file = files[index];
  const source = await readFileAsBlob(file);
  try {
    await doc.loadSource(source);  
  } catch (error) {
    console.log(error);
  }
}

function readFileAsBlob(file){
  return new Promise((resolve, reject) => {
    let fileReader = new FileReader();
    fileReader.onload = function(e){
      const blob = new Blob([new Uint8Array(e.target.result)], {type: file.type });
      resolve(blob);
    };
    fileReader.onerror = function () {
      reject();
    };
    fileReader.readAsArrayBuffer(file);
  })
}

將圖像保存為PDF。

const blob = await doc.saveToPdf();

通過以下函數(shù)下載PDF。

function downloadBlob(blob){
  const link = document.createElement('a')
  link.href = URL.createObjectURL(blob);
  link.download = "scanned.pdf";
  document.body.appendChild(link)
  link.click()
  document.body.removeChild(link)
  URL.revokeObjectURL(link.href);
}

使用編輯界面

Dynamsoft Document Viewer附帶一系列組件。在合并到PDF文件之前,我們可以使用其EditViewer查看和編輯圖像。

在HTML中添加容器。

<div id="container" style="height:480px;"></div>

使用以下代碼啟動它。

let editViewer = new Dynamsoft.DDV.EditViewer({
  container: "container",
});
editViewer.openDocument(doc.uid);

我們可以旋轉(zhuǎn)、裁剪、重新排序和刪除圖像,并為圖像應(yīng)用濾鏡。

以上就是使用JavaScript將圖片合并為PDF的實現(xiàn)的詳細(xì)內(nèi)容,更多關(guān)于JavaScript圖片合并為PDF的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • JS中confirm,alert,prompt函數(shù)使用區(qū)別分析

    JS中confirm,alert,prompt函數(shù)使用區(qū)別分析

    JS中confirm,alert,prompt函數(shù)使用區(qū)別分析,需要的朋友可以參考下。
    2010-04-04
  • 微信公眾平臺開發(fā)教程(四) 實例入門:機器人回復(fù)(附源碼)

    微信公眾平臺開發(fā)教程(四) 實例入門:機器人回復(fù)(附源碼)

    本篇文章主要介紹了微信公眾平臺開發(fā)機器人,可以實現(xiàn)簡單對話和查詢天氣等,有需要的可以了解一下。
    2016-12-12
  • 幾句話帶你理解JS中的this、閉包、原型鏈

    幾句話帶你理解JS中的this、閉包、原型鏈

    在javascript前端開發(fā)階段經(jīng)常會遇到this,閉包,原型鏈知識,那么大家對這三種的基本知識理解嗎?今天小編就帶領(lǐng)大家一起學(xué)習(xí)this,閉包,原型鏈的知識,感興趣的朋友一起看看吧
    2016-09-09
  • 詳解js跨域請求的兩種方式,支持post請求

    詳解js跨域請求的兩種方式,支持post請求

    原先一直以為要實現(xiàn)跨域請求只能用jsonp,只能支持GET請求,后來了解到使用POST請求也可以實現(xiàn)跨域,但是需要在服務(wù)器增加Access-Control-Allow-Origin和Access-Control-Allow-Headers頭,下面說明下兩個不同的方法實現(xiàn)的方式和原理。
    2018-05-05
  • 微信小程序圖片橫向左右滑動案例

    微信小程序圖片橫向左右滑動案例

    這篇文章主要為大家詳細(xì)介紹了微信小程序圖片橫向左右滑動的案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Jquery把獲取到的input值轉(zhuǎn)換成json

    Jquery把獲取到的input值轉(zhuǎn)換成json

    本篇文章主要介紹了Jquery把獲取到的input值轉(zhuǎn)換成json的相關(guān)知識,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-05-05
  • eval的兩組性能測試數(shù)據(jù)

    eval的兩組性能測試數(shù)據(jù)

    最近對eval火爆的討論,教主 @Franky 和 灰大 @otakustay 也給了精彩的數(shù)據(jù)分析,剛好之前也做過類似的測試,我也跟風(fēng)湊個熱鬧,提供兩組數(shù)據(jù)供大家參考
    2012-08-08
  • JS實現(xiàn)AES加密并與PHP互通的方法分析

    JS實現(xiàn)AES加密并與PHP互通的方法分析

    這篇文章主要介紹了JS實現(xiàn)AES加密并與PHP互通的方法,結(jié)合實例形式分析了javascript與php的加密、解密算法相關(guān)操作技巧,需要的朋友可以參考下
    2017-04-04
  • JavaScript實現(xiàn)隨機點名程序

    JavaScript實現(xiàn)隨機點名程序

    這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)隨機點名程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • JS原型繼承四步曲及原型繼承圖一覽

    JS原型繼承四步曲及原型繼承圖一覽

    下面小編就為大家分享一篇JS原型繼承四步曲及原型繼承圖一覽,具有很好的參考價值。希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-11-11

最新評論