将许多页面直接扫描为PDF

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

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

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

另一个稍微不那么简单的程序,它提供了文本识别等附加function,也就是存储库中的gscan2pdf替代文字

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

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

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

 sudo apt-get install gscan2pdf 

Simple Scan的保存对话框中将文件名从myfile.jpg更改为myfile.pdf

在Ubuntu 14.04,Simple Scan 3.12.1上测试。

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

Help > Contents记录了此function:

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

它表示支持以下格式:

  • PDF
  • JPEG
  • PNG
  • TIFF

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

从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. # eg 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}