.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 .\" .\" Standard preamble: .\" ======================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. | will give a .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' .\" expand to `' in nroff, nothing in troff, for use with C<>. .tr \(*W-|\(bv\*(Tr .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .\" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .hy 0 .if n .na .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "GSCAN2PDF 1" .TH GSCAN2PDF 1 "2008-01-04" "perl v5.8.8" "User Contributed Perl Documentation" .SH "Name" .IX Header "Name" gscan2pdf \- A \s-1GUI\s0 to produce a multipage \s-1PDF\s0 from a scan. gscan2pdf should work on almost any Linux/BSD machine. .SH "Synopsis" .IX Header "Synopsis" .IP "1. Scan one or several pages in with File/Scan" 4 .IX Item "1. Scan one or several pages in with File/Scan" .PD 0 .IP "2. Create \s-1PDF\s0 of selected pages with File/Save \s-1PDF\s0" 4 .IX Item "2. Create PDF of selected pages with File/Save PDF" .PD .SH "Description" .IX Header "Description" Scanning is handled with \s-1SANE\s0 via scanimage. \&\s-1PDF\s0 conversion is done by \s-1PDF::API2\s0. \&\s-1TIFF\s0 export is handled by libtiff (faster and smaller memory footprint for multipage files). .SH "Download" .IX Header "Download" gscan2pdf is available on Sourceforge (). .Sh "Debian-based" .IX Subsection "Debian-based" If you are using a Debian-based system, just add the following line to your "\fI/etc/apt/sources.list\fR" file: .PP \&\f(CW\*(C`deb http://gscan2pdf.sourceforge.net/download/debian binary/\*(C'\fR .PP If you are you are using Synaptic, then use menu \&\fIEdit/Reload Package Information\fR, search for gscan2pdf in the package list, and lo and behold, you can install the nice shiny new version automatically. .PP From the command line: .PP \&\f(CW\*(C`apt\-get update\*(C'\fR .PP \&\f(CW\*(C`apt\-get install gscan2pdf\*(C'\fR .PP If you add my key to your list of trusted keys, then you will no longer get the \*(L"not authenticated\*(R" warnings: .PP \&\f(CW\*(C`gpg \-\-keyserver www.keyserver.net \-\-recv\-keys 4DD7CC93\*(C'\fR .PP \&\f(CW\*(C`gpg \-\-export \-\-armor 4DD7CC93 | sudo apt\-key add \-\*(C'\fR .PP If your distribution doesn't have \f(CW\*(C`libgtk2\-ex\-simple\-list\-perl\*(C'\fR, download it from the website and then install it with: .PP \&\f(CW\*(C`sudo dpkg \-i libgtk2\-ex\-simple\-list\-perl_0.50\-1_all.deb\*(C'\fR .Sh "RPMs" .IX Subsection "RPMs" Download the rpm from Sourceforge, and then install it with \&\f(CW\*(C`rpm \-i gscan2pdf\-version.rpm\*(C'\fR .Sh "From source" .IX Subsection "From source" The source is hosted in the files section of the gscan2pdf project on Sourceforge (). .Sh "From the repository" .IX Subsection "From the repository" gscan2pdf uses Mercurial for its Revision Control System. You can browse the tree at . You can also download snapshots as .tar.gz, .zip, and .tar.bz2. .PP Mercurial users can clone the complete tree with \&\f(CW\*(C`hg clone http://gscan2pdf.sourceforge.net/cgi\-bin/hgwebdir.cgi/gscan2pdf\*(C'\fR .SH "Building gscan2pdf from source" .IX Header "Building gscan2pdf from source" Having downloaded the source either from a Sourceforge file release, or from the Mercurial repository, unpack it if necessary with \&\f(CW\*(C`tar xvfz gscan2pdf\-x.x.x.tar.gz cd gscan2pdf\-x.x.x\*(C'\fR .PP \&\f(CW\*(C`perl Makefile.PL\*(C'\fR, will create the Makefile. There is a \f(CW\*(C`make test\*(C'\fR, but this is not machine\-dependent, and therefore really just for my benefit to make sure I haven't broken the device-dependent options parsing routine. .PP You can install directly from the source with \f(CW\*(C`make install\*(C'\fR, but building the appropriate package for your distribution should be as straightforward as \&\f(CW\*(C`make debdist\*(C'\fR or \f(CW\*(C`make rpmdist\*(C'\fR. However, you will additionally need the rpm, devscripts, fakeroot, debhelper and gettext packages. .SH "Dependencies" .IX Header "Dependencies" The list below looks daunting, but all packages are available from any reasonable up-to-date distribution. If you are using Synaptic, having installed gscan2pdf, locate the gscan2pdf entry in Synaptic, right-click it and you can install them under \fIRecommends\fR. .IP "Required" 4 .IX Item "Required" .RS 4 .PD 0 .IP "libgtk2.0\-0 (>= 2.4)" 4 .IX Item "libgtk2.0-0 (>= 2.4)" .PD The \s-1GTK+\s0 graphical user interface library. .IP "libglib-perl (>= 1.100\-1)" 4 .IX Item "libglib-perl (>= 1.100-1)" Perl interface to the GLib and GObject libraries .IP "libgtk2\-ex\-simple\-list\-perl" 4 .IX Item "libgtk2-ex-simple-list-perl" A simple interface to Gtk2's complex \s-1MVC\s0 list widget .IP "libgtk2\-perl (>= 1:1.043\-1)" 4 .IX Item "libgtk2-perl (>= 1:1.043-1)" Perl interface to the 2.x series of the Gimp Toolkit library .IP "liblocale-gettext-perl (>= 1.05)" 4 .IX Item "liblocale-gettext-perl (>= 1.05)" Using libc functions for internationalization in Perl .IP "libpdf\-api2\-perl" 4 .IX Item "libpdf-api2-perl" provides the functions for creating \s-1PDF\s0 documents in Perl .IP "libsane" 4 .IX Item "libsane" \&\s-1API\s0 library for scanners .IP "libtiff-tools" 4 .IX Item "libtiff-tools" \&\s-1TIFF\s0 manipulation and conversion tools .IP "Imagemagick" 4 .IX Item "Imagemagick" Image manipulation programs .IP "perlmagick" 4 .IX Item "perlmagick" A perl interface to the libMagick graphics routines .IP "sane-utils" 4 .IX Item "sane-utils" \&\s-1API\s0 library for scanners \*(-- utilities. .RE .RS 4 .RE .IP "Optional" 4 .IX Item "Optional" .RS 4 .PD 0 .IP "sane" 4 .IX Item "sane" .PD scanner graphical frontends. Only required for the scanadf frontend. .IP "libgtk2\-ex\-podviewer\-perl" 4 .IX Item "libgtk2-ex-podviewer-perl" Perl Gtk2 widget for displaying Plain Old Documentation (\s-1POD\s0). Not required if you don't need the gscan2pdf documentation (which is anyway repeated on the website). .IP "unpaper" 4 .IX Item "unpaper" post-processing tool for scanned pages. See . .IP "xdg-utils" 4 .IX Item "xdg-utils" Desktop integration utilities from freedesktop.org. Required for Email as \s-1PDF\s0. See .IP "djvulibre-bin" 4 .IX Item "djvulibre-bin" Utilities for the DjVu image format. See .IP "gocr" 4 .IX Item "gocr" A command line \s-1OCR\s0. See . .IP "tesseract" 4 .IX Item "tesseract" A command line \s-1OCR\s0. See .RE .RS 4 .RE .SH "Support" .IX Header "Support" There are two mailing lists for gscan2pdf: .IP "gscan2pdf\-announce" 4 .IX Item "gscan2pdf-announce" A low-traffic list for announcements, mostly of new releases. You can subscribe at .IP "gscan2pdf\-help" 4 .IX Item "gscan2pdf-help" General support, questions, etc.. You can subscribe at .SH "Reporting bugs" .IX Header "Reporting bugs" Before reporting bugs, please read the \*(L"FAQs\*(R" section. .PP Please report any bugs found to the bugs page of the gscan2pdf project on Sourceforge (). .PP Please include the output of \f(CW\*(C`gscan2pdf \-\-debug\*(C'\fR with any new bug report. .SH "Translations" .IX Header "Translations" gscan2pdf has already been partly translated several languages. If you would like to contribute to an existing or new translation, please check out Rosetta: .SH "Menus" .IX Header "Menus" .Sh "File" .IX Subsection "File" \fINew\fR .IX Subsection "New" .PP Clears the page list. .PP \fIImport\fR .IX Subsection "Import" .PP Imports any format that imagemagick supports. PDFs will have their embedded images extracted and imported one per page. .PP \fIScan\fR .IX Subsection "Scan" .PP Sets options before scanning via \s-1SANE\s0. .PP Device .IX Subsection "Device" .PP Chooses between available scanners. .PP # Pages .IX Subsection "# Pages" .PP Selects the number of pages, or all pages to scan. .PP Source document .IX Subsection "Source document" .PP Selects between single sided or double sides pages. .PP This affects the page numbering. Single sided scans are numbered consecutively. Double sided scans are incremented (or decremented, see below) by 2, i.e. 1, 3, 5, etc.. .PP Side to scan .IX Subsection "Side to scan" .PP If double sided is selected above, assuming a non-duplex scanner, i.e. a scanner that cannot automatically scan both sides of a page, this determines whether the page number is incremented or decremented by 2. .PP To scan both sides of three pages, i.e. 6 sides: .IP "1. Select:" 4 .IX Item "1. Select:" # Pages = 3 (or \*(L"all\*(R" if your scanner can detect when it is out of paper) .Sp Double sided .Sp Facing side .IP "2. Scans sides 1, 3 & 5." 4 .IX Item "2. Scans sides 1, 3 & 5." .PD 0 .IP "3. Put pile back with scanner ready to scan back of last page." 4 .IX Item "3. Put pile back with scanner ready to scan back of last page." .IP "4. Select:" 4 .IX Item "4. Select:" .PD # Pages = 3 (or \*(L"all\*(R" if your scanner can detect when it is out of paper) .Sp Double sided .Sp Reverse side .IP "5. Scans sides 6, 4 & 2." 4 .IX Item "5. Scans sides 6, 4 & 2." .PD 0 .IP "6. gscan2pdf automatically sorts the pages so that they appear in the correct order." 4 .IX Item "6. gscan2pdf automatically sorts the pages so that they appear in the correct order." .PD .PP Device-dependent options .IX Subsection "Device-dependent options" .PP These, naturally, depend on your scanner. They can include .IP "Page size." 4 .IX Item "Page size." .PD 0 .IP "Mode (colour/black & white/greyscale)" 4 .IX Item "Mode (colour/black & white/greyscale)" .IP "Resolution (in dpi)" 4 .IX Item "Resolution (in dpi)" .IP "Batch-scan" 4 .IX Item "Batch-scan" .PD Guarantees that a \*(L"no documents\*(R" condition will be returned after the last scanned page, to prevent endless flatbed scans after a batch scan. .IP "Wait\-for\-button/Button\-wait" 4 .IX Item "Wait-for-button/Button-wait" After sending the scan command, wait until the button on the scanner is pressed before actually starting the scan process. .IP "Source" 4 .IX Item "Source" Selects the document source. Possible options can include Flatbed or \s-1ADF\s0. On some scanners, this is the only way of generating an out-of-documents signal. .PP \fISave \s-1PDF\s0\fR .IX Subsection "Save PDF" .PP Saves the current, selected or all pages as a \s-1PDF\s0. .PP Metadata .IX Subsection "Metadata" .PP Metadata are information that are not visible when viewing the \s-1PDF\s0, but are embedded in the file and so searchable and can be examined, typically with the \&\*(L"Properties\*(R" option of the \s-1PDF\s0 viewer. .PP The metadata are completely optional. .PP \fISave image\fR .IX Subsection "Save image" .PP Saves the current, selected or all pages as a \s-1TIFF\s0, \s-1PNG\s0, \s-1JPEG\s0, \s-1PNM\s0 or \s-1GIF\s0. .PP \fISave DjVu\fR .IX Subsection "Save DjVu" .PP Saves the current, selected or all pages as a DjVu. Currently, only bitonal compression is available. This is best suited to black and white scans and as such, produces better compression than \s-1PDF\s0. See for more details. .PP \fIEmail as \s-1PDF\s0\fR .IX Subsection "Email as PDF" .PP Attaches the current, selected or all pages as a \s-1PDF\s0 to a blank email. This requires xdg\-email, which is in the xdg-utils package. If this is not present, the option is ghosted out. .Sh "Edit" .IX Subsection "Edit" \fIDelete\fR .IX Subsection "Delete" .PP Deletes the selected page. .PP \fIRenumber\fR .IX Subsection "Renumber" .PP Renumbers the pages from 1..n. .PP Note that the page order can also be changed by drag and drop in the thumbnail view. .PP \fISelect All\fR .IX Subsection "Select All" .PP Selects all pages. .PP \fIFrontend\fR .IX Subsection "Frontend" .PP gscan2pdf supports two frontends, scanimage and scanadf. scanadf support was added when it was realised that scanadf works better with some scanners than scanimage. On Ubuntu Edgy, scanadf is in the sane package, not, like scanimage, in sane\-utils. If scanadf is not present, the option is obviously ghosted out. .Sh "View" .IX Subsection "View" \fIZoom 100%\fR .IX Subsection "Zoom 100%" .PP Zooms to 1:1. How this appears depends on the desktop resolution. .PP \fIZoom to fit\fR .IX Subsection "Zoom to fit" .PP Scales the view such that all the page is visible. .PP \fIZoom in\fR .IX Subsection "Zoom in" .PP \fIZoom out\fR .IX Subsection "Zoom out" .PP \fIRotate 90 clockwise\fR .IX Subsection "Rotate 90 clockwise" .PP The rotate options require the package imagemagick and, if this is not present, are ghosted out. .PP \fIRotate 180\fR .IX Subsection "Rotate 180" .PP \fIRotate 90 anticlockwise\fR .IX Subsection "Rotate 90 anticlockwise" .Sh "Tools" .IX Subsection "Tools" \fIThreshold\fR .IX Subsection "Threshold" .PP Changes all pixels darker than the given value to black; all others become white. .PP \fIunpaper\fR .IX Subsection "unpaper" .PP unpaper (see ) is a utility for cleaning up a scan. .PP \fI\s-1OCR\s0 (Optical Character Recognition)\fR .IX Subsection "OCR (Optical Character Recognition)" .PP The gocr or tesseract utilities are used to produce text from an image. .PP There is an \s-1OCR\s0 output buffer for each page and is embedded both as an annotation (pop\-up note) and as plain text behind the scanned image in the \s-1PDF\s0 produced. This way, Beagle can index (i.e. search) the plain text, and the contents of the annotations can be viewed in Acrobat Reader. .PP In DjVu files, the \s-1OCR\s0 output buffer is embedded in the hidden text layer. Thus these can also be indexed by Beagle. .PP There is an interesting review of \s-1OCR\s0 software at . An important conclusion was that 400dpi is necessary for decent results. .SH "FAQs" .IX Header "FAQs" .Sh "Why isn't option xyz available in the scan window?" .IX Subsection "Why isn't option xyz available in the scan window?" Possibly because \s-1SANE\s0 or your scanner doesn't support it. .PP If an option listed in the output of \f(CW\*(C`scanimage \-\-help\*(C'\fR that you would like to use isn't available, send me the output and I will look at implementing it. .Sh "I've only got an old flatbed scanner with no automatic sheetfeeder. How do I scan a multipage document?" .IX Subsection "I've only got an old flatbed scanner with no automatic sheetfeeder. How do I scan a multipage document?" If you are lucky, you have an option like Wait-for-button or Button\-wait, where the scanner will wait for you to press the scan button on the device before it starts the scan, allowing you to scan multiple pages without touching the computer. .PP Otherwise, you have to set the number of pages to scan to 1 and hit the scan button on the scan window for each page. .Sh "Why is option xyz ghosted out?" .IX Subsection "Why is option xyz ghosted out?" Probably because the package required for that option is not installed. Email as \s-1PDF\s0 requires xdg-email (xdg\-utils), scanadf and the rotate options require imagemagick. .Sh "Why doesn't Email to \s-1PDF\s0 work with Thunderbird?" .IX Subsection "Why doesn't Email to PDF work with Thunderbird?" Because xdg-email doesn't support creating new emails with attachments in Thunderbird. .Sh "Why can I not scan from the flatbed of my \s-1HP\s0 scanner?" .IX Subsection "Why can I not scan from the flatbed of my HP scanner?" Generally for \s-1HP\s0 scanners with an \s-1ADF\s0, to scan from the flatbed, you should set \*(L"# Pages\*(R" to \*(L"1\*(R", and possibly \*(L"Batch scan\*(R" to \*(L"No\*(R". .Sh "When I update gscan2pdf using the Update Manager in Ubuntu, why is the list of changes never displayed?" .IX Subsection "When I update gscan2pdf using the Update Manager in Ubuntu, why is the list of changes never displayed?" As far as I can tell, this is pulled from changelogs.ubuntu.com, and therefore only the changelogs from official Ubuntu builds are displayed. .SH "Roadmap" .IX Header "Roadmap" .IP "v1.0.0" 4 .IX Item "v1.0.0" .RS 4 .PD 0 .IP "Scan profiles." 4 .IX Item "Scan profiles." .RE .RS 4 .RE .IP "When I've worked out how to do it" 4 .IX Item "When I've worked out how to do it" .RS 4 .IP "Correct positioning and size of \s-1OCR\s0 output behind scan \- as soon as tesseract supports outputting the information in a sensible manner." 4 .IX Item "Correct positioning and size of OCR output behind scan - as soon as tesseract supports outputting the information in a sensible manner." .IP "Crop function." 4 .IX Item "Crop function." .IP "Print (using Net::Cups)." 4 .IX Item "Print (using Net::Cups)." .IP "Copier." 4 .IX Item "Copier." .RE .RS 4 .RE .PD .SH "See Also" .IX Header "See Also" Xsane .SH "Author" .IX Header "Author" Jeffrey Ratcliffe (ra28145 at users dot sf dot net) .SH "Thanks to" .IX Header "Thanks to" .IP "all the people who have sent patches, translations, bugs and feedback." 4 .IX Item "all the people who have sent patches, translations, bugs and feedback." .PD 0 .IP "the \s-1GTK2\s0 project for a most excellent graphics toolkit." 4 .IX Item "the GTK2 project for a most excellent graphics toolkit." .IP "the Gtk2\-Perl project for their superb Perl bindings for \s-1GTK2\s0." 4 .IX Item "the Gtk2-Perl project for their superb Perl bindings for GTK2." .IP "Sourceforge for hosting the project." 4 .IX Item "Sourceforge for hosting the project."