Heim  >  Artikel  >  Web-Frontend  >  So fügen Sie in node.js ein Wasserzeichen zu PDF hinzu (Codebeispiel)

So fügen Sie in node.js ein Wasserzeichen zu PDF hinzu (Codebeispiel)

不言
不言nach vorne
2018-12-06 15:56:434214Durchsuche

Der Inhalt dieses Artikels befasst sich mit dem Hinzufügen von Wasserzeichen zu PDF mit node.js (Codebeispiel). Ich hoffe, dass er für Sie hilfreich ist

Im Projekt wird der Knoten als mittlere Ebene verwendet. Während dieser Zeit bestand die Notwendigkeit, PDF-Dateien mit Wasserzeichen zu versehen. Ich habe viele Beiträge online durchsucht und dabei die folgenden Probleme festgestellt.

1. Für ein einseitiges PDF können Sie PNG-Bilder zum Hinzufügen zum PDF verwenden, die tatsächliche Verwendung ist jedoch nicht so ideal. Es muss den Effekt erzielen, dass jeder Seite des Multis ein Wasserzeichen hinzugefügt wird -seitiges PDF.

2. Ich habe darüber nachgedacht, das PDF in Bilder zu konvertieren, den Bildern Wasserzeichen hinzuzufügen und sie dann wieder in PDF zu konvertieren. Ich hatte jedoch das Gefühl, dass die Zwischenschritte zu mühsam waren und die Klarheit möglicherweise beeinträchtigt wurde.
3. Python und Java verfügen über verwandte Lösungen, die implementiert werden können, um Python-Skripte zum Hinzufügen von Wasserzeichen zu PDFs zu verwenden vielleicht nicht so freundlich.

Lösung

Ich habe Github und NPM durchsucht und festgestellt, dass node-pdftk die Anforderungen erfüllen kann, aber auf die PDFTK-Software angewiesen ist Ich habe festgestellt, dass PDFTK Linux unterstützt. Gut, fangen Sie einfach an, es zu verwenden.

Umgebung

Die Projektbereitstellung verwendet Docker. Verwenden Sie daher Docker, was für die Situation besser geeignet ist und Ärger erspart, wenn Sie normalerweise auf Ihrem eigenen Computer entwickeln Wenn Sie eine Linux-Umgebung benötigen, um eine Serverumgebung zu üben oder zu simulieren, können Sie auch ein Linux-Image verwenden, um einen Dokcer-Container auszuführen, worauf ich hier nicht näher eingehen werde.

Implementierung

1. app.js

In der Eingabemethode geben wir die Quelldatei und den Stempel ein Methode geben wir die Wasserzeichendatei ein und geben den gespeicherten Pfad in der Out-Methode an. Hier richten wir einen Dienst ein, um unser mit Wasserzeichen versehenes PDF zu generieren, wenn auf Port 3100 zugegriffen wird.

'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. Docker-Datei

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. Effekt

Quelldatei

So fügen Sie in node.js ein Wasserzeichen zu PDF hinzu (Codebeispiel)

Wasserzeichendatei

So fügen Sie in node.js ein Wasserzeichen zu PDF hinzu (Codebeispiel)

Nach dem Hinzufügen des Wasserzeichens

So fügen Sie in node.js ein Wasserzeichen zu PDF hinzu (Codebeispiel)

Das obige ist der detaillierte Inhalt vonSo fügen Sie in node.js ein Wasserzeichen zu PDF hinzu (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen