尝试让 brother all in one 输出 PDF 文件

尝试让 brother all in one 输出 PDF 文件

好的……首先,我对 Linux 一无所知……只是在学习而已……到目前为止只试用了两个星期。已经安装好了。设法在 Windows 和 Linux 之间建立了网络。

我正在尝试安装 Brother MFC-J6935DW 一体式打印机/扫描仪...设置为网络单元(以太网)。

从兄弟网站上下载了驱动程序...安装没有问题。打印机运行良好。

扫描仪无法识别计算机。我在这个网站上找到了答案,让我加载 brscan-skey,现在打印机可以看到 Linux 计算机(还可以在网络上看到 Windows 7 和 10 设备)。

问题....即使 5 页页面通过文档进纸,扫描仪也只能扫描 1 页,并且输出是 PNM 文件。

所以我想获得一个 PDF 输出(如果有多个页面,它们应该在一个 PDF 文件中)。

兄弟没有提供任何帮助...他们一直告诉我只需重新安装驱动程序。

我发现了三种可能的解决方案...可能还有更多....但我不知道其中是否有一个可行。

1) python scanpdf 0.3.1 我不确定如何使用它,但它看起来可能可以满足我的要求。需要一个名为 ImageMagick 和 SANE 的东西(我“认为”sane 已经安装好了)。哎呀,我甚至不知道 python 是什么?

2)有人告诉我有一个叫 gscan2pdf 的程序

3)找到此链接:兄弟支持页面

这确实有一个注释(注意:需要安装 scanadf、pnmtops 和 ps2pdf)如果我找到并安装它们,则不确定如何设置它们。

这是我的文件,我是否只需将其替换为上面的修改文件或????

#! /bin/sh
set +o noclobber
#
# $1 = scanner device
# $2 = friendly name
#

#
# 100,200,300,400,600
#
resolution=100
device=$1
mkdir -p ~/brscan
if [ "`which usleep 2>/dev/null `" != '' ];then
usleep 100000
else
sleep 0.1
fi
output_file=~/brscan/brscan_"`date +%Y-%m-%d-%H-%M-%S`"".pnm"
#echo "scan from $2($device) to $output_file"
scanimage --device-name "$device" --resolution $resolution> $output_file 2>/dev/null
if [ ! -s $output_file ];then
if [ "`which usleep 2>/dev/null `" != '' ];then
usleep 1000000
else
sleep 1
fi
scanimage --device-name "$device" --resolution $resolution> $output_file 2>/dev/null
fi
echo $output_file is created.

任何帮助将不胜感激!

答案1

此问题源于scanimage扫描仪只能捕获单页。若要扫描多页,可以使用scanadf(ADF - 自动进纸器) 实用程序。

您提供的程序适用于scanadf

#! /bin/sh
set +o noclobber
#
# $1 = scanner device
# $2 = friendly name
#

#
# 100,200,300,400,600
#
resolution=100
device=$1
mkdir -p ~/brscan
if [ "`which usleep 2>/dev/null `" != '' ];then
usleep 100000
else
sleep 0.1
fi
output_file=~/brscan/brscan_"`date +%Y-%m-%d-%H-%M-%S`"".pnm"
#echo "scan from $2($device) to $output_file"
scanadf --device-name "$device" --resolution $resolution -o "$output_file"_%04d 2>/dev/null
convert -page A4 -density 100 $output_file* "$output_file"".pdf" 2>/dev/null
echo $output_file is created.

我引入了以下更改:

  • 变成,scanimagescanadf
  • 添加参数-o "$output_file"_%04d- 这会将扫描的页面保存到格式为“brscan_CURRENT_DATE.pnm_NUMBER”的文件中,数字从 1 到您扫描的页数,
  • 添加convert程序,将转换并合并扫描文件为单个 PDF 文件,Brother 的脚本默认不执行此操作

convert需要在计算机上安装 ImageMagick(一款免费的图像处理软件)才能运行。此外,convert需要进行额外配置才能对 PDF 文件进行操作,请参阅https://askubuntu.com/a/1081907了解有关该主题的更多信息。

此解决方案基于 Brother 支持页面提供的说明(https://support.brother.com/g/s/id/linux/en/instruction_scn5.html?lang=en)。

答案2

您可以尝试使用脚本理智扫描 PDF,可将扫描的页面合并为单个输出文件。它还包括其他选项,例如软件或硬件去歪斜、裁剪、通过 Tesseract 创建可搜索的 PDF、跳过纯白色页面等。

免责声明:我是主要作者。

相关内容