将许多页面直接扫描成PDF


35

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


只是想知道,我想在Ubuntu中使用的扫描仪/打印机是否需要任何特殊资格?
JFW

@JFW,这是 XSane 支持的设备的列表, XSane是大多数Ubuntu扫描仪使用的后端。如果您正在寻找HP打印机/扫描仪/复印机,似乎是一个不错的可靠选择。
poolie 2011年

Answers:


38

拥有简单扫描实用程序的想法是开发简单扫描的原因简单扫描是默认情况下从10.04开始安装的扫描工具(应用程序‣图形‣简单扫描)。 替代文字

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

另一个稍稍简单的程序,也提供了其他功能,例如文本识别,是gscan2pdf,也位于存储库中。 替代文字


3
+1代表简单扫描-既简单又简单,但功能也非常强大-特别适合您提到的工作。
8128

5

“易于使用”在用户眼中,但xsane提供了此功能。选择多页显示查看器的位置(或按CTRL-M),从那里找出来应该不太困难。


我个人认为xsane远非易用...
8128

我一直都在使用xsane。我从来没有想到可能会有更好的工具。
阿曼达

3

我一直在使用,xsane直到看到这个问题,并认为它的接口特性至少可以说是有效的。

看到这个问题后,我开始寻找并发现gscan2pdf存在于Ubuntu Lucid / Maverick存储库中。它使用相同的扫描(libsane)引擎,但UI更具Gnome风格。好时,请尝试:

sudo apt-get install gscan2pdf

3

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

已在Ubuntu 14.04,简单扫描3.12.1上进行测试。

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

该功能记录在Help > Contents

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

它说支持以下格式:

  • PDF格式
  • JPEG格式
  • PNG
  • TIFF

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


1

从USB扫描仪扫描页面。使用tesseract将OCR转换为PDF。将多页合并为一个PDF。用法:scan2PDF输出文件名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}

这是一个非常Linuxoidal方法
RTH

1

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

如果要自动扫描进纸器中的文档,并想知道XSane是否知道何时停止(而不是太早停止),只需在左上角输入一个数字(扫描数图标),该数字应大于适合的页面数。在您的进纸器中。也就是说,如果您的进纸器可以占用10页,则输入15(以考虑厚度变化)。如果您有双面扫描仪,请将该数字加倍。

进纸器用完时,您将看到一个带有绿色警告三角形的对话框,上面显示“已扫描的页面:0”。这仅表示该进纸器为空,您可以关闭该对话框。如果选择了“查看器”或“保存” XSane右上角的所有文件都保存在那里-记住将它们保存在查看器中。现在,您可以再次按scan键继续进行,从数字的同一点开始递增编号,也可以开始一个新项目,不会添加任何空白页,如果您选择“多页”,则项目对话框应显示所有完成的扫描,您可以单击另存为多页PDF或TIFF或PostScript。

HTH,

直流电

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.