目次
3、エフェクト
ソースファイル
ホームページ ウェブフロントエンド jsチュートリアル Node.jsでPDFにウォーターマークを追加する方法(コード例)

Node.jsでPDFにウォーターマークを追加する方法(コード例)

Dec 06, 2018 pm 03:56 PM
javascript node.js

この記事の内容は、node.js を使用して PDF にウォーターマークを追加する方法 (コード例) です。必要な方は参考にしていただければ幸いです。

このプロジェクトでは、node を中間層として使用しています。この間、PDF ファイルにウォーターマークを追加する必要があり、インターネット上の多くの投稿を検索したところ、次のような問題が見つかりました。

1. 単一ページの PDF の場合、PNG 画像を使用して PDF に追加できますが、実際の使用方法は、マルチページの各ページにウォーターマークを追加するような効果を満たす必要があります。 -ページPDF。 ####2. PDF を画像に変換し、画像に透かしを追加してから PDF に戻すことも考えましたが、途中の手順が煩雑で、鮮明さが損なわれる可能性があると感じました。

3. Python と Java には実装可能な関連ソリューションがあり、将来メンテナンスが必要になった場合に備えて、Python スクリプトを実行して PDF にウォーターマークを追加することを考えました。あまりフレンドリーではないかもしれません。

解決策

Github と NPM を参照したところ、node-pdftk はニーズを満たすことができるが、PDFTK ソフトウェアに依存する必要があることがわかりました。 PDFTK が Linux をサポートしていることがわかりました。これを使い始めてください。

環境

プロジェクトのデプロイメントに docker を使用する場合は、通常自分のコンピューターで開発する場合には、より状況に適しており、手間が少ない docker を使用してください。ただし、サーバー環境を練習またはシミュレートするために Linux 環境が必要な場合は、Linux イメージを使用して dokcer コンテナーを実行することもできます。ここでは詳しく説明しません。

実装

1. app.js

API は、入力メソッドでソース ファイルを入力します。 stamp メソッドでウォーターマーク ファイルを入力し、out メソッドで保存されたパスを指定します。ここでは、ポート 3100 にアクセスするときにウォーターマーク付き PDF を生成するサービスを設定します。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

'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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

FROM node:7.6.0

 

# 创建工作目录

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启动应用

CMD ["./node_modules/pm2/bin/pm2-docker""process.yml"]

ログイン後にコピー

3、エフェクト

ソースファイル

Node.jsでPDFにウォーターマークを追加する方法(コード例)

ウォーターマーク ファイル

Node.jsでPDFにウォーターマークを追加する方法(コード例)

ウォーターマーク追加後

# ###############################

以上がNode.jsでPDFにウォーターマークを追加する方法(コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 Dec 17, 2023 pm 02:54 PM

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法

WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー Dec 17, 2023 pm 05:30 PM

WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー

WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 Dec 17, 2023 am 09:39 AM

WebSocketとJavaScriptを使ったオンライン予約システムの実装方法

JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 Dec 17, 2023 pm 12:09 PM

JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 Dec 17, 2023 pm 05:13 PM

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築

簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 Jan 05, 2024 pm 06:08 PM

簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法

JavaScript で HTTP ステータス コードを簡単に取得する方法 JavaScript で HTTP ステータス コードを簡単に取得する方法 Jan 05, 2024 pm 01:37 PM

JavaScript で HTTP ステータス コードを簡単に取得する方法

JavaScriptでinsertBeforeを使用する方法 JavaScriptでinsertBeforeを使用する方法 Nov 24, 2023 am 11:56 AM

JavaScriptでinsertBeforeを使用する方法

See all articles