it-swarm.cn

将多页直接扫描到PDF

在Ubuntu中是否有一些易于使用的程序可以将许多页面直接扫描到PDF文件中?

34
pupeno

有一个简单的扫描实用程序的想法是开发的,好吧,简单扫描 - 默认情况下安装的扫描工具从10.04开始(应用程序‣图形‣简单扫描)。 alt text

只需扫描任意数量的页面,并在保存时选择PDF作为文件格式。

另一个稍微不那么简单的程序,提供文本识别等附加功能gscan2pdf,也在存储库中。 alt text

38
Marcel Stimberg

“易于使用”是用户的眼睛,但xsane提供此功能。选择表示查看器的多页(或按CTRL-M),从那里算起来应该不难。

5
Karl Bielefeldt

在简单扫描的保存对话框中将文件名从myfile.jpg更改为myfile.pdf

在Ubuntu 14.04,Simple Scan 3.12.1上测试。

即使文件类型下拉列表不显示“PDF”,也只显示“图像”,这仍然有效。我认为这是一个UI错误。

此功能记录在Help > Contents上:

从“另存为”对话框中,选择一种受支持的文件类型,或者只需在“名称”字段中更改扩展名。

它表示支持以下格式:

  • PDF
  • JPEG
  • PNG
  • TIFF

有趣的事实:如果您将扫描类型(“扫描”旁边的下拉列表)更改为“文本”,则默认文件类型将变为PDF。

我正在使用xsane,直到我看到这个问题,并认为它的界面特殊,至少可以说,但有效。

看到这个问题后,我去寻找并发现 gscan2pdf 生活在Ubuntu Lucid/Maverick存储库中。它使用相同的扫描(libsane)引擎,但UI更像是Gnome-ish。好好玩,试试:

Sudo apt-get install gscan2pdf
3
msw

从USB扫描仪扫描页面。使用tesseract将OCR转换为PDF。将多个页面合并为一个PDF。用法:scan2PDF outputfilename number_of_pages

#!/bin/bash
#scan2PDF
#Requires:      tesseract 3.03 for OCR to PDF
#               scanimage for scanning, I use  1.0.24
#               pdfunite to merge multiple PDF into one, I use 0.26.5
#
#       Use scanimage -L to get a list of devices.
#       e.g. device `genesys:libusb:006:003' is a Canon LiDE 210 flatbed scanner
#       then copy/paste genesys:libusb:006:003 into SCANNER below.
#       play with CONTRAST to get good images
DPI=300
TESS_LANG=nor  #Language that Tesseract uses for OCR
SCANNER=genesys:libusb:006:003  #My USB scanner
CONTRAST=35   #Contrast to remove paper look

FILENAME=$1 #Agrument 1,filename
PAGES=$2    #Argument 2, number of pages

re='^[0-9]+$'  #Check if second argument is a number
if ! [[ ${PAGES} =~ $re ]] ; then
   echo "error: Usage: $0 filename number_of_pages" >&2; exit 1
fi

SCRIPT_NAME=`basename "$0" .sh` #Directory to store temporary files
TMP_DIR=${SCRIPT_NAME}-tmp

if [ -d ${TMP_DIR} ]  #Check if it exists a directory already
then
        echo Error: The directory ${TMP_DIR} exists.
        exit 2
fi
mkdir ${TMP_DIR}  #Make and go to temp dir
cd ${TMP_DIR}

echo Starts Scanimage...
scanimage -d ${SCANNER} --format=tiff --mode Color --resolution ${DPI} -p --contrast ${CONTRAST} --batch-start=1 --batch-count=${PAGES}  --batch-Prompt


echo Starts Tesseract OCR

for file in  *.tif  #Goes through every tif file in temp dir
do
        tesseract $file  ${file%.tif} -l ${TESS_LANG} pdf

done

if [ "$PAGES" = "1" ] #How many pages
then
    cp out1.pdf ../${FILENAME}.pdf  #Only one page, just copy the PDF back
else
        for file in *.pdf  #More pages, merge the pages into one PDF and copy back
    do
            pdfuniteargs+=${file} 
            pdfuniteargs+=" "
    done
    pdfunite $pdfuniteargs ../${FILENAME}.pdf
fi
    echo ${FILENAME}.pdf done

rm *                    #Done, clean up
cd ..
rmdir ${TMP_DIR}
1
morten

对于那些希望使用XSANE的人。一旦您阅读了程序中帮助> XSane Doc链接的设置指南,它就非常强大,直观 - 知道您可以用它做多少。还有值得检查你的SANE后端工作正常(不是特定于Arch): https://wiki.archlinux.org/index.php/SANE

如果您想自动扫描进纸器中的文档,并想知道XSane是否知道何时停止(并且不会过早停止),只需在左上方输入一个数字(扫描数量图标),大于适合的页数在你的馈线。即如果您的进纸器可以打10页,则输入15(以考虑厚度变化)。如果您有双面扫描仪,请将此数字加倍。

当送纸器用完时,您将看到一个带有绿色警告三角形的对话框,上面写着“扫描页面:0”。这只是表示送纸器是空的,您可以关闭对话框。如果您选择了“查看器”或“保存” “在XSane的右上角,文件将全部存在 - 记得将它们从观众中保存下来。现在你可以再次按扫描进行你离开的地方,数字从同一点递增或者你可以开始新项目。不会添加任何空白页面。如果选择“多页”,项目对话框应显示所有已完成的扫描,您可以单击保存为多页PDF或TIFF或PostScript。

HTH,

DC

0
user901387