真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

node.js怎么實現(xiàn)為PDF添加水印-創(chuàng)新互聯(lián)

這篇文章將為大家詳細講解有關(guān)node.js怎么實現(xiàn)為PDF添加水印,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:主機域名雅安服務(wù)器托管、營銷軟件、網(wǎng)站建設(shè)、新和網(wǎng)站維護、網(wǎng)站推廣。JS是什么

JS是JavaScript的簡稱,它是一種直譯式的腳本語言,其解釋器被稱為JavaScript引擎,是瀏覽器的一部分,主要用于web的開發(fā),可以給網(wǎng)站添加各種各樣的動態(tài)效果,讓網(wǎng)頁更加美觀。

背景

項目中有用到node做中間層,期間有個為PDF文件添加水印的需求,網(wǎng)上搜了不少帖子,發(fā)現(xiàn)有以下幾點存在的問題。

1、單頁PDF的話,可以用PNG圖片加到PDF上,但是實際使用情況就沒那么理想,必須滿足多頁PDF每頁都加上水印的效果方可。

2、中間想過,把PDF轉(zhuǎn)成圖片,圖片加上水印后再轉(zhuǎn)回PDF,但是感覺中間步驟太麻煩,而且會面臨清晰度下降的可能。

3、Python、Java有相關(guān)方案,可以實現(xiàn),有想過用node去執(zhí)行Python腳本去為PDF加水印,考慮到開發(fā)人員都是前端、如果以后需要維護,擴展可能就不是那么友好了。

解決方案

逛了Github和NPM,發(fā)現(xiàn)node-pdftk可以滿足需求,不過得依賴PDFTK這個軟件,進一步了解,發(fā)現(xiàn)PDFTK支持linux,好,直接用這個開搞。

環(huán)境

項目部署是用了docker,那就用docker來吧,比較貼合情況也省事點;如果平時在自己電腦上開發(fā),但需要linux環(huán)境的話練手或者模擬服務(wù)器環(huán)境的話,大家也可以用一個linux鏡像運行一個dokcer容器,這里就不贅述了。

實現(xiàn)

1、app.js

API相對較為簡單,input方法中我們輸入源文件,stamp方法中我們輸入水印文件,out方法中指定保存的路徑,這里的話我們起了一個服務(wù),當(dāng)訪問3100端口的時候就去生成我們帶水印的PDF。

'use strict';

const express = require('express');
const pdftk = require('node-pdftk');
const path = require('path');
const app = express();

app.get('/', (req, res) => {
  pdftk
    .input(path.resolve(__dirname + '/../files/javascript.pdf'))
    .stamp(path.resolve(__dirname + '/../files/watermark.pdf'))
    .output(path.resolve(__dirname + '/../files/javascript_watermark.pdf'))
    .then(buffer => {
      return res.send('successful');
    })
    .catch(err => {
      console.error(err);
      return res.send('failed');
    });
});

app.listen(3100);

2、dockerfile

FROM node:7.6.0

# 創(chuàng)建工作目錄
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

COPY ./node_modules /usr/src/app/node_modules

RUN npm set registry https://registry.npm.taobao.org/

# 下載安裝PDFTK
RUN apt-get update
RUN apt-get install -y pdftk

# 使用PM2啟動應(yīng)用
CMD ["./node_modules/pm2/bin/pm2-docker", "process.yml"]

3、效果

源文件

node.js怎么實現(xiàn)為PDF添加水印

水印文件

node.js怎么實現(xiàn)為PDF添加水印

添加水印后

node.js怎么實現(xiàn)為PDF添加水印

關(guān)于“node.js怎么實現(xiàn)為PDF添加水印”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。


網(wǎng)頁題目:node.js怎么實現(xiàn)為PDF添加水印-創(chuàng)新互聯(lián)
標(biāo)題來源:http://weahome.cn/article/cssjjd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部