Сканирование многих страниц прямо в PDF

Существует ли какая-либо простая в использовании программа в Ubuntu, которая может сканировать многие страницы прямо в файл PDF?

35
задан 3 October 2010 в 14:11

6 ответов

Идея иметь простую утилиту сканирования лежала в основе разработки Simple Scan - инструмента сканирования, установленного по умолчанию с 10.04 (Приложения ‣ Графика ‣ Простое сканирование). alt text

Просто отсканируйте столько страниц, сколько хотите, и выберите PDF в качестве формата файла при сохранении.

Еще одна чуть менее простая программа, которая предлагает дополнительные функции, такие как распознавание текста, - gscan2pdf , также в репозиториях. alt text

0
ответ дан 3 October 2010 в 14:11

Отсканируйте страницы от сканера 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
ответ дан 3 October 2010 в 14:11

Я использовал xsane до тех пор, пока не увидел этот вопрос и не посчитал его интерфейс своеобразным, по меньшей мере, но эффективным.

Увидев этот вопрос, я пошел искать и нашел gscan2pdf , живущих в репозиториях Ubuntu Lucid / Maverick. В нем используется тот же механизм сканирования (libsane), но пользовательский интерфейс гораздо более прост в использовании. Чтобы хорошо провести время, попробуйте:

sudo apt-get install gscan2pdf
0
ответ дан 3 October 2010 в 14:11

«Простота в использовании» в глазах пользователя, но xsane предоставляет эту функциональность. Выберите многостраничный режим там, где написано зритель (или нажмите CTRL-M), и оттуда не должно быть слишком сложно это выяснить.

0
ответ дан 3 October 2010 в 14:11

Для тех из вас, кто хочет использовать XSANE. Он очень мощный и интуитивно понятный, как только вы прочитаете руководство по установке, связанное со Справкой> XSane Doc в программе, - чтобы узнать, сколько вы можете с ним сделать. Также стоит проверить, что ваш бэкэнд SANE работает правильно (не слишком специфично для Arch): https://wiki.archlinux.org/index.php/SANE

Если вы хотите автоматически сканировать документы из устройства подачи и спросите себя, будет ли XSane знать, когда нужно остановиться (и не останавливаться слишком рано), просто введите число в верхнем левом углу (значок количества сканирований), превышающее количество страниц, которые умещаются в устройстве подачи. То есть если ваш фидер может занять 10 страниц, введите 15 (для учета изменения толщины). Если у вас есть дуплексный сканер, удвойте это число.

Когда устройство подачи заканчивается, вы получите диалоговое окно с зеленым предупреждающим треугольником с надписью «Отсканированные страницы: 0». Это просто означает, что устройство подачи пусто, и вы можете закрыть диалоговое окно. Если вы выбрали «Просмотрщик» или «сохранить» в правом верхнем углу XSane, тогда все файлы будут там - не забудьте сохранить их из средства просмотра. Теперь вы можете нажать кнопку сканирования еще раз, чтобы продолжить с того места, где вы остановились, с номерами, увеличивающимися с той же точки или Вы можете начать новый проект. Не будет добавлено никаких пустых страниц. Если вы выбрали «Многостраничный», в диалоговом окне проекта должны отображаться все выполненные сканы, и вы можете щелкнуть, чтобы сохранить их в виде многостраничного PDF, TIFF или PostScript. 114] HTH,

DC

0
ответ дан 3 October 2010 в 14:11

Измените имя файла с myfile.jpg на myfile.pdf в диалоговом окне сохранения простого сканирования.

Проверено на Ubuntu 14.04, Simple Scan 3.12.1.

Это работает, даже если в раскрывающемся списке типов файлов не отображается «PDF», только «Изображения». Я считаю это ошибкой пользовательского интерфейса.

Эта функция описана в Help > Contents:

В диалоговом окне «Сохранить как» выберите один из поддерживаемых типов файлов или просто измените расширение в поле «Имя».

В нем говорится, что поддерживаются следующие форматы:

  • PDF
  • JPEG
  • PNG
  • TIFF

Интересный факт: если вы измените тип сканирования (раскрывающийся помимо «Сканирование») на «Текст», тип файла по умолчанию становится PDF.

0
ответ дан 3 October 2010 в 14:11

Другие вопросы по тегам:

Похожие вопросы: