使用节点的 fs 复制 pdf 会导致不同的文件



我有以下代码,我希望复制pdf,但它没有准确复制,文件大小在286KB与原始202KB之间,并且副本无法在pdf阅读器中打开。我在其他语言上尝试过,但我也遇到了同样的问题。我在vs代码上打开原始pdf作为文本文件,将内容复制并粘贴到新文件中,得到了类似但不完全相同的结果。非常感谢。

const fs = require('fs');
fs.readFile('./original.pdf', 'utf8', (err, data) => {
fs.writeFile('./copy.pdf', chunk, err => {
console.error(err);
});
});

编辑:为了澄清,我不是在寻找另一种方法/库/api,而是解释为什么我的方法不起作用,以及修改代码或复制粘贴内容的方法。非常感谢。

您可以使用fs/promises:中的copyFile方法

import { copyFile } from 'fs/promises';
await copyFile('./original.pdf', './copy.pdf');

你可以在这里阅读更多关于它的信息。

const fs = require('fs');
fs.readFile('./original.pdf', (err, data) => {
fs.writeFile('./copy.pdf', data, err => {
console.error(err);
});
});

只需从readFile-函数中删除编码,并在writeFile-函数中的回调中使用变量"data">

最新更新