From 7c945a2ec10048d19f15d4b1651ae3b664f15b84 Mon Sep 17 00:00:00 2001 From: Dale Furrow Date: Fri, 16 Sep 2016 16:11:06 -0500 Subject: [PATCH 01/15] Small changes to get commands working --- scanpdf/scanpdf.py | 12 ++++-------- test/checkscanpdf.py | 24 ++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 8 deletions(-) create mode 100644 test/checkscanpdf.py diff --git a/scanpdf/scanpdf.py b/scanpdf/scanpdf.py index b211987..0264a33 100644 --- a/scanpdf/scanpdf.py +++ b/scanpdf/scanpdf.py @@ -80,10 +80,9 @@ def run_scan(self): '--source "ADF Duplex"', '--mode Color', '--resolution %sdpi' % self.dpi, - '--y-resolution %sdpi' % self.dpi, '-o %s/page_%%04d' % self.tmp_dir, - '-y 876', - '--page-height 376', + '-y 279.364', + '--page-height 279.364', ] self.cmd(c) self.cmd('logger -t "scanbd: " "End of scan "') @@ -106,7 +105,7 @@ def _natural_keys(self, text): def get_pages(self): cwd = os.getcwd() os.chdir(self.tmp_dir) - pages = glob.glob('./page_*') + pages = glob.glob('page_*') pages.sort(key = self._natural_keys) os.chdir(cwd) return pages @@ -202,10 +201,7 @@ def run_convert(self, page_files): ps_filename, pdf_basename, ] - c = ['epstopdf', - ps_filename, - ] - + self.cmd(c) shutil.move(pdf_basename, self.pdf_filename) for filename in page_files+[ps_filename]: diff --git a/test/checkscanpdf.py b/test/checkscanpdf.py new file mode 100644 index 0000000..b394ecd --- /dev/null +++ b/test/checkscanpdf.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python2.7 + +# Basic Test for scanpdf.py + +import os +from scanpdf import scanpdf + +OUTPUT_DIRECTORY = "/home/dale/Temp" +FILENAME = "image_test.pdf" + +def main(): + full_path = os.path.join(OUTPUT_DIRECTORY, FILENAME) + os.environ["SCANBD_DEVICE"] = 'net:localhost:fujitsu:ScanSnap S1500:1448' + args = {'scan': True, 'pdf': True, '': full_path, + '--verbose': True, '--debug': True, '--dpi': 300, '--tmpdir':False, + '--keep-blanks':False, '--blank-threshold':0.97, '--post-process':False, + '--face-up':False, '--keep-tmpdir':False} + script = scanpdf.ScanPdf() + print args + script.go(args) + + +if __name__ == '__main__': + main() From 26e58ba55950b2b57cf85361df16652944c61044 Mon Sep 17 00:00:00 2001 From: Dale Furrow Date: Sun, 18 Sep 2016 12:57:22 -0500 Subject: [PATCH 02/15] Various changes: Addressed issue with inputs that caused face-up False not to be invoked, re-established test of blank_threshold value, implemented a deskew function in place of crop, changed post-process to do text recogniion on finished pdf (unpaper didn't work for me). --- resources/deskew64 | Bin 0 -> 865464 bytes scanpdf/scanpdf.py | 74 +++++++++++++++++++------------------------ scanpdf/test_gui.py | 23 ++++++++++++++ test/checkscanpdf.py | 2 ++ 4 files changed, 58 insertions(+), 41 deletions(-) create mode 100644 resources/deskew64 create mode 100644 scanpdf/test_gui.py diff --git a/resources/deskew64 b/resources/deskew64 new file mode 100644 index 0000000000000000000000000000000000000000..3ff9d4486d598df303e5a056ff90daf37d97c29f GIT binary patch literal 865464 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%0At9O=i2VqE+)O<94X%^KXhRcOBYQh?I`Q!tY&86| z8=($krt4bMjMRV{5`|+(s!}U6DGKXHTnk9?6C;PdUU^jH;N;4okz9fD>N)Rv+-Dbb=Ec^qs+ zBO?2e(D{h@KK?Hdf+bX5`x{DNndSm)T%uwJg9FN01HAYQ^ZOV_8Rpl{>>(B5(4Ut+ z-@Fy+^UNz@118hFG_RLjUizf+o4{;=iSa0kZ#{xMcT?LmtOxkPD21^p^D5VabF)p^ z(>)*J8WV9@#-^E9dvV#(ni?qrIIgL6U4^-H8Jh|_U2HejBfuIyIu9Y8yUj-8(ume@ zit`t(St(z-e&e`QuIzaH^GPNnxDp|YoQpF%puorewO=OFn!NBj1vvcLeDG_S^EBQk zt5XkBgl(J2_~QMWb;1B+*B-1}gi;`Ep!5I-s;D}PJ^NtcIg~;n3M)s@nlQTcEAynw z%@!Q4HtmB?Vxb(kg%10`GcX|WE1s40o;8ZBTimR6$wqLo^O3{;Il-cQVA~q|*U#^I@%_ zPDy~Bh(^P_q(9mt^K#ACPyA4nvmcRuR(l}MeJ^?9%YEF=yD>#u;*ez}bRj1^sl8CK zR(e5{s3}A&wN43v*~tYe+U@mFgaInrQJ-982;6dZ$g0g@r3L#IoE)}(lEZQ5%JSzn ze+@?QV5tIGufc&?d|DW(IR@E*mon>0$$INWbaNo0nDfHcGD#FJ|B1w7_YV$Z43>dy zj`@qZds*->DYzdBhE$8@iz<%}f&Dr&Y&|YuNc2Dc#%O3wZmDrdk^TI71i{cw@R!X{ zp*au9>h0J6C@mxO(2K3eIa5M^E15-$yd8q)4*LQiz;YoOlwDB^%kgCK-gvSGBqq24kIr##lJ+>>bnztLLFM068j6j@b1A!)6?aegLBs4Y$%R#@rr|z6=kxw$P|bh#7$OYXT8?D zl*-M>TD~?AUnnC!wE`EYHS;D3=vR>;-;~PVF`|?D&qbNg8W>+Tr0Qpebw#EXp_XIH zB}3x%R)h!gW`u(R7#FVMX}FX5%A=uf#fFYTOsF2ud#;1c5QjTRo+XFD7mE$n@~^Zp zqPz~985N!g5kwdh#2&_<#`rw&F;3GUz9HNk)FyP1*`O;Hnq{~E;X_xk^?Moh4R_1O z5uqfseu2vjtbd?$8K_lD!%>@ZM%Q?p*@C5h041$IAQ@tm$%fP{%nVd+uKD3rfeJEd zWckP-ap>ddC4 zg(ra|?LpZxTMy6gCc$rhATOxume|?aqHf>T_Bg;pqZJc7Fvluj`vmyhzlk2*+aCIa zO5~@YZ&2|5CPvt&eubOHQ(B6$IXCQS@M7DY$^O7sxsE8t?gICH2C@UvkYD-ftq^{7(yE$@n<~Pm|!alfvi~!bmzS;j2OQe_WJh^ zzkfw{k;A^eB0X|wcIDa1gO4v7>)QhTP4>2WE4c$O70$qJ^^?L02a>!&^P*3DB}YY#IJAjC8LGioop?$yY2I@C0|u@$ZMr zA#&YjbZ#>uZw@eS-^OHNn9C{H4I7g*sTXM*V5Bn?<}fRrT;ttbFv8hGF1uSULK07Z z0>BG9iakHavMWhC#&wKx9p}ZyAwCqXV|)3d&5P4$AZT+MAKB0a_vjL9Efd5tm>4P2 zW1mA1mLz(R@h{pYGz*p8ZF%Xkf7+CR@?^?lqJvA|2xcdmOLDm~Y^u4*-Qi*Lmp#|@ zaAVl^JiOrgu-wJ799=!?1X*8TH?N7z~hc+Xa!dDeQb2oM8Vt+{IPIJ4ia>WIIUvL9fx!H|a=g_z;a~q5T9u5ry zT!>3yJT(c42{fQ%rRvbqqw9yK0cuop>n{LM2!|cWlWR3{4&Q#L4Nz5GPq{5!6Zr?1 ze;}EKrM;mQr^hcXF*|TE!JruR8#%e*jYl8_e{%8YFQw*gJ8vXVFu_fSfy9p9lt>q~ zFFFA!j`P(ko!nG{V(bO~#PVvv1Ys#yQ!_;|V1A9Lq_x+qV)JuvNI2t12B#b%1lM6; zaD3+Rq5urhaopiB*x>jq!}y$@kU#W3A3@GB<8n(aB-vhU-JBux9D@-zpWYXSPv+u4 z8a<621GJS| z`RBvIaQ7EwuK;amL*2O2BQQk@voY@lsMtv$+fFb!3T$3;U2j=7*j}z|mF$`Pe?s+M z^G6G_5dvNp3Wsgx9UMBi)j`9qCguVu$(J+F+KnHwA}kXSPr%AeEG{j~!o)v@{LRec zW$`&#=SyrpmQV(d!J>mCgPq{35NzGeQbf9)3$G{2K3hDuze};#ME(gb%kahDS%_R- z;^}@5Z|iw6CjlHjeL{zOt8P?sx2$c(f##wC)7W3Z4sXPHfJ1*10;t+I_`IY2WVXj7=>qO?qPa_Q9 z!d4eqj(0*&PM}FBavKaQCR!c)Hg4Wx)+cWlu-<1Gro%5&KH$z@^6d7VkUOCQIk_r# zp(!sL>2SJ+(+=FP9+Idiev*^Ynmj!YuqhHsFvqoB(uaL}0t~bwAuMv%P4l14PY2>`-K*a}g5R z*4v$(9-j$~ESH~bsm-Jb;DFD6A^a&m|E2J!lhJI6My_!nbB>K#A{_RCmdH%~@NQ~K zON2*v_>?nnb~G}JUOHxrqa`wj5iODL@Z*4srlzb(;q|R#MinXeL;DQ!Z&N!*!l?U^gBvBM|#3b`rw0u)toJ zmnr63SXWB|%IJnWpXx)o7bVISRx`m_CYT~A6pS!SbQ!JQA$<=t#ewwjC7O{ew7qX& z;+4g|6^gc-MPvI0=_P$FG^MX4LX-SUfSK2~w*R~jg_fFUVq27kGuF(MD?r-Pa=gCB zBN3o%J&mbL+=97tG`X)rDsN|z=zphR^NM^HjJ;5XHsDP#aMq2Q%`Aj8usTSggvEoP;yc2wD96 z8(k4ifM%3h8%V9fW=qJLl;61%TZt!7Rv=XHdT`k|#B}cI+#WK&mFA7!3t&I0XPnS- zffMruI2jIPr-sY{f^2tM^j`2w0O(57`6sgLxj)P7LKO@US%6mt7i>J@z`HEiw&Ssq|+#}BF0;ixem^dvLU-JJy~O-uBL+M6wn>}n;4-p_*jPLJ>I~Ue z1F=0#7$BBr`30fe2KItjffNXUk#>MfjDJC)U+Y_;xOB#Wl8Zva){jU7=*?0pU~b!h zCQC>js?00cRyB@a?d-hSjpAu$4iN`rSsV-5u>5|i5kV<4HPhmK3^k!z*}gGd%8Q!M z+8@6z%$DX@1Y|+B5M2IKOf~=b z?FG#jvvDW^)+hUbW@3cZh0GtlM`(QWqnGmcvuXd6^4t4X{^Gus@9R-Tm!dFa{`6xH ztH2=q9q^;mNfM%kkfdWi_J#WX|YL>FvZgeRzU#5G};AF%(mPYiOAquSwcRDTUFTY;#~J@N1*fw} zASx2wCA{;+sFY1|Nel4=K_ha=oY`t#n&FTQ&_bmjhUE}4%OPZzL&%`)G!xlN0lN^g z+jlI47q&>g;JhN6Bo}`iI)~#424p$Aid-e?uAp8LBY{iRcwUhSBT^3kgP88Qb@|Rs z&@hsDVXJZz2O+%_ti%A|9HwBAR#?Io1K13bCVU(wKSKx-{IMTl21AD)i;PyAPhop6 z)!r|&U8+TYfVb?55vNVOvL$;85F4`o9bo;jm*I%x1|TX!FRkhr8FIk##%yoA&3cJr z-#>7{Yhk9PZeS9O!qWsk`{|eXyvHGjgvcA5I3Qn=8)82sNmHK5{fft|<(w9qdkRTqKlz1>?;JTl&f~JM2)js%qzd(GvV>2ln z`K*7{*-mRJN2_tHj!Bir!^KuiuN(#!TQI$H09=F~>a*>*9xs>OsK0#s-@q6^HTU3< zs!PxvNE@mw&_@_MW>ua87fZT{rB7l>*Rk|TX>eW7(kBgWS;8eSrG5zo!>%SRK*i6U z4>*OL#j9I4QW9K2NpKZ*mF5Hy$~miH7=|4z*aGJ~)=3M(c8cmPO!nr*I<=M(woXh+ ztOODw3M%e!UdXIR0olm~q=(kwcKG3PL$0))R$3=^0{%)UG_+0J2Uo>#oMD1}VsT9u zAiyqsjznWPWl(x_S!y2SooP922Fc;jg@QzIT?=UkHm1Y?HdT-V5d)w;kN|p`4k!^n z;4A6;!#ohGf6?v_A_WDZ`ZsC#1?M2M2a)PJ3b!c3y?rG4fj~J=5Ou09dSEle!dTIC zu6W0zq)p9WCAuld6ivrP5;C|Xy{hMG96dTk`Ztr*U|dnAv+En}R;d9C!go_0BNg56S6QXai%Z zQxnh;$wc-WfFiaXe-hBSg(0v{g?%0A6r*<`OJAy=%p3&7{#GAzT*4e^cfdXiIpm>` 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 z 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 UD1X`gNng_ZU-t)UdVkRW0fpV!mH+?% literal 0 HcmV?d00001 diff --git a/scanpdf/scanpdf.py b/scanpdf/scanpdf.py index 0264a33..1e4e728 100644 --- a/scanpdf/scanpdf.py +++ b/scanpdf/scanpdf.py @@ -136,49 +136,41 @@ def is_blank(self, filename): match = mStdDev.search(line) if match: stdev = float(match.group('percent')) - if stdev > 0.1: + logging.info(os.path.basename(filename) + " std. dev: " + "{0:.4f}".format(stdev)) + if stdev > 1. - self.blank_threshold: return False return True # OLD CODE - doesn't work for color images - c = 'convert %s -shave 1%%x1%% -format "%%[fx:mean]" info:' % filename - result = self.cmd(c) - if float(result.strip()) > self.blank_threshold: - return True - else: - return False - - def run_postprocess(self, page_files): - cwd = os.getcwd() - os.chdir(self.tmp_dir) - - processed_pages = [] - for page in page_files: - processed_page = '%s_unpaper' % page - c = ['unpaper', page, processed_page] - self.cmd(c) - os.remove(page) - processed_pages.append(processed_page) - os.chdir(cwd) - return processed_pages + # c = 'convert %s -shave 1%%x1%% -format "%%[fx:mean]" info:' % filename + # result = self.cmd(c) + # if float(result.strip()) > self.blank_threshold: + # return True + # else: + # return False + + def run_postprocess(self, pdf_file): + c = ['pdfsandwich','-coo', '\"-deskew 40%\"', pdf_file] + self.cmd(c) + filename, file_extension = os.path.splitext(pdf_file) + ocr_file = filename + "_ocr" + file_extension + os.remove(pdf_file) + shutil.move(ocr_file, pdf_file) - def run_crop(self, page_files): + def run_deskew(self, page_files): cwd = os.getcwd() + deskew = os.path.dirname(os.path.realpath(__file__)) + '/../resources/deskew64' os.chdir(self.tmp_dir) crop_pages = [] for i, page in enumerate(page_files): - logging.debug("Cropping page %d" % i) - crop_page = '%s.crop' % page + logging.debug("Deskewing page %d" % i) + crop_page = '%s.deskew' % page crop_pages.append(crop_page) - c = ['convert', - '-fuzz 20%', - '-trim', - ' %s ' % page, - crop_page, - ] - self.cmd(c) + c = [deskew,' %s ' % page, '-o', 'out.ppm'] + result = self.cmd(c) + logging.debug("deskew result: " + result) + shutil.move('out.ppm', crop_page) os.remove(page) - os.chdir(cwd) return crop_pages @@ -191,7 +183,6 @@ def run_convert(self, page_files): ps_filename = ps_filename.replace(".pdf", ".ps") c = ['convert', '-density %s' % self.dpi, - '-rotate 180', ' '.join(page_files), ps_filename ] @@ -217,7 +208,7 @@ def convert_to_bw(self, pages): new_pages = [] for i, page in enumerate(pages): filename = os.path.join(self.tmp_dir, page) - logging.info("Checking if %s is bw..." % filename) + logging.info("checking if " + os.path.basename(filename) + " is bw...") if self._is_color(filename): new_pages.append(page) else: # COnvert to BW @@ -359,13 +350,13 @@ def go(self, argv): # Now, convert the files to ps pages = self.get_pages() logging.debug( pages ) - if self.args['--face-up']: + if self.args['--face-up'] == 'True': # Default is a text value of 'True' pages = self.reorder_face_up(pages) logging.debug( pages ) - # Crop the pages - pages = self.run_crop(pages) + # Deskew the pages + pages = self.run_deskew(pages) # Now, check if color or bw pages = self.convert_to_bw(pages) @@ -376,7 +367,7 @@ def go(self, argv): no_blank_pages = [] for i,page in enumerate(pages): filename = os.path.join(self.tmp_dir, page) - logging.info("Checking if %s is blank..." % filename) + logging.info("Checking if %s is blank..." % os.path.basename(filename)) if not self.is_blank(filename): no_blank_pages.append(page) else: @@ -385,13 +376,14 @@ def go(self, argv): pages = no_blank_pages logging.debug( pages ) - - if self.post_process: - pages = self.run_postprocess(pages) self.run_convert(pages) + + if self.post_process: + self.run_postprocess(self.pdf_filename) def main(): + os.environ["SCANBD_DEVICE"] = 'net:localhost:fujitsu:ScanSnap S1500:1448' args = docopt.docopt(__doc__, version='Scan PDF %s' % __version__ ) script = ScanPdf() print args diff --git a/scanpdf/test_gui.py b/scanpdf/test_gui.py new file mode 100644 index 0000000..3c1822a --- /dev/null +++ b/scanpdf/test_gui.py @@ -0,0 +1,23 @@ +import shutil +import tkFileDialog +import os + +OUTPUT_DIRECTORY = "/home/dale/Temp" +FILENAME = "image_test.pdf" + +def file_save(source_file): + f = tkFileDialog.asksaveasfile(mode='w', defaultextension=".pdf") + if f is None: # asksaveasfile return `None` if dialog closed with "cancel". + return + target_path = f.name + f.close() + os.remove(target_path) + shutil.move(source_file, target_path) + + + +def main(): + file_save(os.path.join(OUTPUT_DIRECTORY, FILENAME)) + +if __name__ == '__main__': + main() diff --git a/test/checkscanpdf.py b/test/checkscanpdf.py index b394ecd..4d7fbfd 100644 --- a/test/checkscanpdf.py +++ b/test/checkscanpdf.py @@ -10,6 +10,8 @@ def main(): full_path = os.path.join(OUTPUT_DIRECTORY, FILENAME) + if os.path.exists(full_path): + os.remove(full_path) os.environ["SCANBD_DEVICE"] = 'net:localhost:fujitsu:ScanSnap S1500:1448' args = {'scan': True, 'pdf': True, '': full_path, '--verbose': True, '--debug': True, '--dpi': 300, '--tmpdir':False, From 6fa14363c98b394dc1c73dde7fa6d3152ccb35df Mon Sep 17 00:00:00 2001 From: Dale Furrow Date: Mon, 19 Sep 2016 08:52:06 -0500 Subject: [PATCH 03/15] Added option for dialog box to save file --- scanpdf/scanpdf.py | 42 +++++++++++++++++++++++++++++++++--------- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/scanpdf/scanpdf.py b/scanpdf/scanpdf.py index 1e4e728..c910e99 100644 --- a/scanpdf/scanpdf.py +++ b/scanpdf/scanpdf.py @@ -37,6 +37,7 @@ import logging import shutil import re +import tkFileDialog from version import __version__ import docopt @@ -174,11 +175,22 @@ def run_deskew(self, page_files): os.chdir(cwd) return crop_pages - def run_convert(self, page_files): + def file_save(self, source_file): + f = tkFileDialog.asksaveasfile(mode='w', defaultextension=".pdf") + if f is None: # asksaveasfile return `None` if dialog closed with "cancel". + return + target_path = f.name + f.close() + os.remove(target_path) + shutil.move(source_file, target_path) + + def run_convert(self, page_files, post_process): cwd = os.getcwd() os.chdir(self.tmp_dir) - - pdf_basename = os.path.basename(self.pdf_filename) + if self.pdf_filename is not None: + pdf_basename = os.path.basename(self.pdf_filename) + else: + pdf_basename = "temp.pdf" ps_filename = pdf_basename ps_filename = ps_filename.replace(".pdf", ".ps") c = ['convert', @@ -194,7 +206,14 @@ def run_convert(self, page_files): ] self.cmd(c) - shutil.move(pdf_basename, self.pdf_filename) + if post_process: + logging.info("running pdf sandwich for text recognition...") + self.run_postprocess(pdf_basename) + if self.pdf_filename is not None: + shutil.move(pdf_basename, self.pdf_filename) + else: + source_file = os.path.join(self.tmp_dir, pdf_basename) + self.file_save(source_file) for filename in page_files+[ps_filename]: os.remove(filename) @@ -305,7 +324,12 @@ def get_options(self, argv): if argv['--debug']: logging.basicConfig(level=logging.DEBUG, format='%(message)s') if self.args['pdf']: - self.pdf_filename = os.path.abspath(self.args['']) + if self.args[''] != 'None': + self.pdf_filename = os.path.abspath(self.args['']) + logging.info('saving to file: ' + self.pdf_filename) + else: + logging.info(' is \"None\", saving file via dialog...') + self.pdf_filename = None self.dpi = self.args['--dpi'] @@ -376,12 +400,12 @@ def go(self, argv): pages = no_blank_pages logging.debug( pages ) - - self.run_convert(pages) if self.post_process: - self.run_postprocess(self.pdf_filename) - + self.run_convert(pages, True) + else: + self.run_convert(pages, False) + def main(): os.environ["SCANBD_DEVICE"] = 'net:localhost:fujitsu:ScanSnap S1500:1448' args = docopt.docopt(__doc__, version='Scan PDF %s' % __version__ ) From 85928a781b4e8221f598ef68bfc4d6ea5347c7b3 Mon Sep 17 00:00:00 2001 From: Dale Furrow Date: Mon, 19 Sep 2016 09:27:41 -0500 Subject: [PATCH 04/15] added crop method back in with default option false --- scanpdf/scanpdf.py | 170 ++++++++++++++++++++++++------------------- test/checkscanpdf.py | 4 +- 2 files changed, 98 insertions(+), 76 deletions(-) diff --git a/scanpdf/scanpdf.py b/scanpdf/scanpdf.py index c910e99..696a125 100644 --- a/scanpdf/scanpdf.py +++ b/scanpdf/scanpdf.py @@ -24,6 +24,7 @@ -v --verbose Verbose logging -d --debug Debug logging --dpi= DPI to scan in [default: 300] + --crop Run ImageMagick cropping routine --tmpdir= Temporary directory --keep-tmpdir Whether to keep the tmp dir after scanning or not [default: False] --face-up= Face-up scanning [default: True] @@ -33,28 +34,29 @@ """ -import sys, os +import glob import logging -import shutil +import os import re +import shutil +import subprocess +import sys +import time import tkFileDialog -from version import __version__ import docopt -import subprocess -import time -import glob -from itertools import combinations +from version import __version__ class ScanPdf(object): + pages = None """ The main clas. Performs the following functions: """ - def __init__ (self): + def __init__(self): """ """ self.config = None @@ -70,66 +72,66 @@ def cmd(self, cmd_list): except subprocess.CalledProcessError as e: print e.output self._error("Could not run command %s" % cmd_list) - - def run_scan(self): device = os.environ['SCANBD_DEVICE'] self.cmd('logger -t "scanbd: " "Begin of scan "') c = ['scanadf', - '-d "%s"' % device, - '--source "ADF Duplex"', - '--mode Color', - '--resolution %sdpi' % self.dpi, - '-o %s/page_%%04d' % self.tmp_dir, - '-y 279.364', - '--page-height 279.364', - ] + '-d "%s"' % device, + '--source "ADF Duplex"', + '--mode Color', + '--resolution %sdpi' % self.dpi, + '-o %s/page_%%04d' % self.tmp_dir, + '-y 279.364', + '--page-height 279.364', + ] self.cmd(c) self.cmd('logger -t "scanbd: " "End of scan "') - def _error(self, msg): + @staticmethod + def _error(msg): print("ERROR: %s" % msg) sys.exit(-1) - def _atoi(self,text): - return int(text) if text.isdigit() else text + @staticmethod + def _atoi(text): + return int(text) if text.isdigit() else text def _natural_keys(self, text): - ''' + """ alist.sort(key=natural_keys) sorts in human order http://nedbatchelder.com/blog/200712/human_sorting.html (See Toothy's implementation in the comments) - ''' - return [ self._atoi(c) for c in re.split('(\d+)', text) ] + :param text: + :return: sorted + """ + return [self._atoi(c) for c in re.split('(\d+)', text)] def get_pages(self): cwd = os.getcwd() os.chdir(self.tmp_dir) pages = glob.glob('page_*') - pages.sort(key = self._natural_keys) + pages.sort(key=self._natural_keys) os.chdir(cwd) return pages def reorder_face_up(self, pages): - reorder = [] assert len(pages) % 2 == 0, "Why is page count not even for duplexing??" logging.info("Reordering pages") - #for i in range(0,len(pages),2): - #pages[i], pages[i+1] = pages[i+1], pages[i] + # for i in range(0,len(pages),2): + # pages[i], pages[i+1] = pages[i+1], pages[i] pages.reverse() return pages - + def is_blank(self, filename): """ - Returns true if image in filename is blank - standard deviation: 56.9662 (0.223397) + :param filename: page to examine + :return: true if image is blank """ if not os.path.exists(filename): return True - c = 'identify -verbose %s' % filename result = self.cmd(c) mStdDev = re.compile("""\s*standard deviation:\s*\d+\.\d+\s*\((?P\d+\.\d+)\).*""") @@ -137,7 +139,7 @@ def is_blank(self, filename): match = mStdDev.search(line) if match: stdev = float(match.group('percent')) - logging.info(os.path.basename(filename) + " std. dev: " + "{0:.4f}".format(stdev)) + logging.info(os.path.basename(filename) + " std. dev: " + "{0:.4f}".format(stdev)) if stdev > 1. - self.blank_threshold: return False return True @@ -150,8 +152,28 @@ def is_blank(self, filename): # else: # return False + def run_crop(self, page_files): + cwd = os.getcwd() + os.chdir(self.tmp_dir) + crop_pages = [] + for i, page in enumerate(page_files): + logging.debug("Cropping page %d" % i) + crop_page = '%s.crop' % page + crop_pages.append(crop_page) + c = ['convert', + '-fuzz 20%', + '-trim', + ' %s ' % page, + crop_page, + ] + self.cmd(c) + os.remove(page) + + os.chdir(cwd) + return crop_pages + def run_postprocess(self, pdf_file): - c = ['pdfsandwich','-coo', '\"-deskew 40%\"', pdf_file] + c = ['pdfsandwich', '-coo', '\"-deskew 40%\"', pdf_file] self.cmd(c) filename, file_extension = os.path.splitext(pdf_file) ocr_file = filename + "_ocr" + file_extension @@ -167,7 +189,7 @@ def run_deskew(self, page_files): logging.debug("Deskewing page %d" % i) crop_page = '%s.deskew' % page crop_pages.append(crop_page) - c = [deskew,' %s ' % page, '-o', 'out.ppm'] + c = [deskew, ' %s ' % page, '-o', 'out.ppm'] result = self.cmd(c) logging.debug("deskew result: " + result) shutil.move('out.ppm', crop_page) @@ -194,16 +216,16 @@ def run_convert(self, page_files, post_process): ps_filename = pdf_basename ps_filename = ps_filename.replace(".pdf", ".ps") c = ['convert', - '-density %s' % self.dpi, - ' '.join(page_files), - ps_filename - ] + '-density %s' % self.dpi, + ' '.join(page_files), + ps_filename + ] self.cmd(c) c = ['ps2pdf', - '-DPDFSETTINGS=/prepress', - ps_filename, - pdf_basename, - ] + '-DPDFSETTINGS=/prepress', + ps_filename, + pdf_basename, + ] self.cmd(c) if post_process: @@ -214,14 +236,13 @@ def run_convert(self, page_files, post_process): else: source_file = os.path.join(self.tmp_dir, pdf_basename) self.file_save(source_file) - for filename in page_files+[ps_filename]: + for filename in page_files + [ps_filename]: os.remove(filename) - + # IF we did the scan, then remove the tmp dir too if self.args['scan'] and not self.args['--keep-tmpdir']: os.rmdir(self.tmp_dir) os.chdir(cwd) - def convert_to_bw(self, pages): new_pages = [] @@ -230,12 +251,11 @@ def convert_to_bw(self, pages): logging.info("checking if " + os.path.basename(filename) + " is bw...") if self._is_color(filename): new_pages.append(page) - else: # COnvert to BW + else: # COnvert to BW bw_page = self._page_to_bw(filename) new_pages.append(bw_page) return new_pages - def _page_to_bw(self, page): out_page = "%s_bw" % page cwd = os.getcwd() @@ -280,31 +300,29 @@ def _is_color(self, filename): if matchLine: logging.debug("Found RGB values") color = [int(x) for x in (matchLine.group('count'), - matchLine.group('R'), - matchLine.group('G'), - matchLine.group('B'), - ) - ] + matchLine.group('R'), + matchLine.group('G'), + matchLine.group('B'), + ) + ] colors.append(color) # sort - colors.sort(reverse=True, key = lambda x: x[0]) + colors.sort(reverse=True, key=lambda x: x[0]) logging.debug(colors) is_color = False logging.debug(colors) for color in colors: # Calculate the mean differences between the RGB components # Shades of grey will be very close to zero in this metric... - diff = float(sum([abs(color[2]-color[1]), - abs(color[3]-color[1]), - abs(color[3]-color[2]), - ]))/3 + diff = float(sum([abs(color[2] - color[1]), + abs(color[3] - color[1]), + abs(color[3] - color[2]), + ])) / 3 if diff > 20: is_color = True logging.debug("Found color") return is_color - - def get_options(self, argv): """ Parse the command-line options and set the following object properties: @@ -322,7 +340,7 @@ def get_options(self, argv): if argv['--verbose']: logging.basicConfig(level=logging.INFO, format='%(message)s') if argv['--debug']: - logging.basicConfig(level=logging.DEBUG, format='%(message)s') + logging.basicConfig(level=logging.DEBUG, format='%(message)s') if self.args['pdf']: if self.args[''] != 'None': self.pdf_filename = os.path.abspath(self.args['']) @@ -349,11 +367,11 @@ def get_options(self, argv): else: if not os.path.exists(self.tmp_dir): self._error("Scan files directory %s does not exist!" % self.tmp_dir) - + # Blank checks - self.keep_blanks = argv['--keep-blanks'] + self.keep_blanks = argv['--keep-blanks'] self.blank_threshold = float(argv['--blank-threshold']) - assert(self.blank_threshold >= 0 and self.blank_threshold <= 1.0) + assert (self.blank_threshold >= 0 and self.blank_threshold <= 1.0) self.post_process = argv['--post-process'] def go(self, argv): @@ -369,19 +387,22 @@ def go(self, argv): logging.info("Temp dir: %s" % self.tmp_dir) if self.args['scan']: self.run_scan() - + if self.args['pdf']: # Now, convert the files to ps pages = self.get_pages() - logging.debug( pages ) - if self.args['--face-up'] == 'True': # Default is a text value of 'True' + logging.debug(pages) + if self.args['--face-up'] == 'True': # Default is a text value of 'True' pages = self.reorder_face_up(pages) - - logging.debug( pages ) + + logging.debug(pages) # Deskew the pages pages = self.run_deskew(pages) + if self.args['--crop']: + pages = self.run_crop(pages) + # Now, check if color or bw pages = self.convert_to_bw(pages) logging.debug(pages) @@ -389,7 +410,7 @@ def go(self, argv): # Run blanks if not self.keep_blanks: no_blank_pages = [] - for i,page in enumerate(pages): + for i, page in enumerate(pages): filename = os.path.join(self.tmp_dir, page) logging.info("Checking if %s is blank..." % os.path.basename(filename)) if not self.is_blank(filename): @@ -398,21 +419,22 @@ def go(self, argv): logging.info(" page %s is blank, removing..." % i) os.remove(filename) pages = no_blank_pages - - logging.debug( pages ) + + logging.debug(pages) if self.post_process: self.run_convert(pages, True) else: self.run_convert(pages, False) + def main(): os.environ["SCANBD_DEVICE"] = 'net:localhost:fujitsu:ScanSnap S1500:1448' - args = docopt.docopt(__doc__, version='Scan PDF %s' % __version__ ) + args = docopt.docopt(__doc__, version='Scan PDF %s' % __version__) script = ScanPdf() print args script.go(args) + if __name__ == '__main__': main() - diff --git a/test/checkscanpdf.py b/test/checkscanpdf.py index 4d7fbfd..5a91837 100644 --- a/test/checkscanpdf.py +++ b/test/checkscanpdf.py @@ -14,8 +14,8 @@ def main(): os.remove(full_path) os.environ["SCANBD_DEVICE"] = 'net:localhost:fujitsu:ScanSnap S1500:1448' args = {'scan': True, 'pdf': True, '': full_path, - '--verbose': True, '--debug': True, '--dpi': 300, '--tmpdir':False, - '--keep-blanks':False, '--blank-threshold':0.97, '--post-process':False, + '--verbose': True, '--debug': True, '--dpi': 300, '--crop': False, '--tmpdir':False, + '--keep-blanks':False, '--blank-threshold':0.80, '--post-process':False, '--face-up':False, '--keep-tmpdir':False} script = scanpdf.ScanPdf() print args From 1aa4e13056078ba2d37e40f58321f9a790605916 Mon Sep 17 00:00:00 2001 From: Dale Furrow Date: Mon, 19 Sep 2016 09:50:45 -0500 Subject: [PATCH 05/15] refactored page array to be member of scanpdf --- scanpdf/scanpdf.py | 92 ++++++++++++++++++++++++---------------------- 1 file changed, 48 insertions(+), 44 deletions(-) diff --git a/scanpdf/scanpdf.py b/scanpdf/scanpdf.py index 696a125..a6d2e11 100644 --- a/scanpdf/scanpdf.py +++ b/scanpdf/scanpdf.py @@ -115,13 +115,13 @@ def get_pages(self): os.chdir(cwd) return pages - def reorder_face_up(self, pages): - assert len(pages) % 2 == 0, "Why is page count not even for duplexing??" + def reorder_face_up(self): + assert len(self.pages) % 2 == 0, "Why is page count not even for duplexing??" logging.info("Reordering pages") # for i in range(0,len(pages),2): # pages[i], pages[i+1] = pages[i+1], pages[i] - pages.reverse() - return pages + self.pages.reverse() + def is_blank(self, filename): """ @@ -152,11 +152,11 @@ def is_blank(self, filename): # else: # return False - def run_crop(self, page_files): + def run_crop(self): cwd = os.getcwd() os.chdir(self.tmp_dir) crop_pages = [] - for i, page in enumerate(page_files): + for i, page in enumerate(self.pages): logging.debug("Cropping page %d" % i) crop_page = '%s.crop' % page crop_pages.append(crop_page) @@ -168,9 +168,8 @@ def run_crop(self, page_files): ] self.cmd(c) os.remove(page) - + self.pages = crop_pages os.chdir(cwd) - return crop_pages def run_postprocess(self, pdf_file): c = ['pdfsandwich', '-coo', '\"-deskew 40%\"', pdf_file] @@ -180,22 +179,23 @@ def run_postprocess(self, pdf_file): os.remove(pdf_file) shutil.move(ocr_file, pdf_file) - def run_deskew(self, page_files): + def run_deskew(self): cwd = os.getcwd() deskew = os.path.dirname(os.path.realpath(__file__)) + '/../resources/deskew64' os.chdir(self.tmp_dir) - crop_pages = [] - for i, page in enumerate(page_files): + deskew_pages = [] + for i, page in enumerate(self.pages): logging.debug("Deskewing page %d" % i) - crop_page = '%s.deskew' % page - crop_pages.append(crop_page) + deskew_page = '%s.deskew' % page + deskew_pages.append(deskew_page) c = [deskew, ' %s ' % page, '-o', 'out.ppm'] result = self.cmd(c) logging.debug("deskew result: " + result) - shutil.move('out.ppm', crop_page) + shutil.move('out.ppm', deskew_page) os.remove(page) + self.pages = deskew_pages os.chdir(cwd) - return crop_pages + def file_save(self, source_file): f = tkFileDialog.asksaveasfile(mode='w', defaultextension=".pdf") @@ -206,7 +206,7 @@ def file_save(self, source_file): os.remove(target_path) shutil.move(source_file, target_path) - def run_convert(self, page_files, post_process): + def run_convert(self, post_process): cwd = os.getcwd() os.chdir(self.tmp_dir) if self.pdf_filename is not None: @@ -217,7 +217,7 @@ def run_convert(self, page_files, post_process): ps_filename = ps_filename.replace(".pdf", ".ps") c = ['convert', '-density %s' % self.dpi, - ' '.join(page_files), + ' '.join(self.pages), ps_filename ] self.cmd(c) @@ -226,7 +226,6 @@ def run_convert(self, page_files, post_process): ps_filename, pdf_basename, ] - self.cmd(c) if post_process: logging.info("running pdf sandwich for text recognition...") @@ -236,7 +235,7 @@ def run_convert(self, page_files, post_process): else: source_file = os.path.join(self.tmp_dir, pdf_basename) self.file_save(source_file) - for filename in page_files + [ps_filename]: + for filename in self.pages + [ps_filename]: os.remove(filename) # IF we did the scan, then remove the tmp dir too @@ -244,9 +243,9 @@ def run_convert(self, page_files, post_process): os.rmdir(self.tmp_dir) os.chdir(cwd) - def convert_to_bw(self, pages): + def convert_to_bw(self): new_pages = [] - for i, page in enumerate(pages): + for i, page in enumerate(self.pages): filename = os.path.join(self.tmp_dir, page) logging.info("checking if " + os.path.basename(filename) + " is bw...") if self._is_color(filename): @@ -254,7 +253,8 @@ def convert_to_bw(self, pages): else: # COnvert to BW bw_page = self._page_to_bw(filename) new_pages.append(bw_page) - return new_pages + self.pages = new_pages + def _page_to_bw(self, page): out_page = "%s_bw" % page @@ -390,42 +390,46 @@ def go(self, argv): if self.args['pdf']: # Now, convert the files to ps - pages = self.get_pages() - logging.debug(pages) + self.pages = self.get_pages() + logging.debug(self.pages) if self.args['--face-up'] == 'True': # Default is a text value of 'True' - pages = self.reorder_face_up(pages) + self.reorder_face_up() - logging.debug(pages) + logging.debug(self.pages) # Deskew the pages - pages = self.run_deskew(pages) + self.run_deskew() if self.args['--crop']: - pages = self.run_crop(pages) + self.run_crop() # Now, check if color or bw - pages = self.convert_to_bw(pages) - logging.debug(pages) + self.convert_to_bw() + logging.debug(self.pages) # Run blanks if not self.keep_blanks: - no_blank_pages = [] - for i, page in enumerate(pages): - filename = os.path.join(self.tmp_dir, page) - logging.info("Checking if %s is blank..." % os.path.basename(filename)) - if not self.is_blank(filename): - no_blank_pages.append(page) - else: - logging.info(" page %s is blank, removing..." % i) - os.remove(filename) - pages = no_blank_pages - - logging.debug(pages) + self.remove_blanks() + + logging.debug(self.pages) if self.post_process: - self.run_convert(pages, True) + self.run_convert(True) + else: + self.run_convert(False) + + def remove_blanks(self): + no_blank_pages = [] + for i, page in enumerate(self.pages): + filename = os.path.join(self.tmp_dir, page) + logging.info("Checking if %s is blank..." % os.path.basename(filename)) + if not self.is_blank(filename): + no_blank_pages.append(page) else: - self.run_convert(pages, False) + logging.info(" page %s is blank, removing..." % i) + os.remove(filename) + self.pages = no_blank_pages + def main(): From a35592b7be6b3629e5d38aa533eb654c49e3ad11 Mon Sep 17 00:00:00 2001 From: Dale Furrow Date: Mon, 19 Sep 2016 12:22:19 -0500 Subject: [PATCH 06/15] Refactored: Created new method to process each page --- scanpdf/scanpdf.py | 333 ++++++++++++++++++++++----------------------- 1 file changed, 161 insertions(+), 172 deletions(-) diff --git a/scanpdf/scanpdf.py b/scanpdf/scanpdf.py index a6d2e11..4b13fd0 100644 --- a/scanpdf/scanpdf.py +++ b/scanpdf/scanpdf.py @@ -43,14 +43,15 @@ import sys import time import tkFileDialog - +import time import docopt from version import __version__ - +date_format = '%m/%d/%Y %H:%M:%S' class ScanPdf(object): pages = None + cwd = None """ The main clas. Performs the following functions: @@ -60,6 +61,7 @@ def __init__(self): """ """ self.config = None + self.cwd = os.getcwd() def cmd(self, cmd_list): if isinstance(cmd_list, list): @@ -122,28 +124,6 @@ def reorder_face_up(self): # pages[i], pages[i+1] = pages[i+1], pages[i] self.pages.reverse() - - def is_blank(self, filename): - """ - - :param filename: page to examine - :return: true if image is blank - """ - if not os.path.exists(filename): - return True - - c = 'identify -verbose %s' % filename - result = self.cmd(c) - mStdDev = re.compile("""\s*standard deviation:\s*\d+\.\d+\s*\((?P\d+\.\d+)\).*""") - for line in result.splitlines(): - match = mStdDev.search(line) - if match: - stdev = float(match.group('percent')) - logging.info(os.path.basename(filename) + " std. dev: " + "{0:.4f}".format(stdev)) - if stdev > 1. - self.blank_threshold: - return False - return True - # OLD CODE - doesn't work for color images # c = 'convert %s -shave 1%%x1%% -format "%%[fx:mean]" info:' % filename # result = self.cmd(c) @@ -152,25 +132,6 @@ def is_blank(self, filename): # else: # return False - def run_crop(self): - cwd = os.getcwd() - os.chdir(self.tmp_dir) - crop_pages = [] - for i, page in enumerate(self.pages): - logging.debug("Cropping page %d" % i) - crop_page = '%s.crop' % page - crop_pages.append(crop_page) - c = ['convert', - '-fuzz 20%', - '-trim', - ' %s ' % page, - crop_page, - ] - self.cmd(c) - os.remove(page) - self.pages = crop_pages - os.chdir(cwd) - def run_postprocess(self, pdf_file): c = ['pdfsandwich', '-coo', '\"-deskew 40%\"', pdf_file] self.cmd(c) @@ -179,23 +140,6 @@ def run_postprocess(self, pdf_file): os.remove(pdf_file) shutil.move(ocr_file, pdf_file) - def run_deskew(self): - cwd = os.getcwd() - deskew = os.path.dirname(os.path.realpath(__file__)) + '/../resources/deskew64' - os.chdir(self.tmp_dir) - deskew_pages = [] - for i, page in enumerate(self.pages): - logging.debug("Deskewing page %d" % i) - deskew_page = '%s.deskew' % page - deskew_pages.append(deskew_page) - c = [deskew, ' %s ' % page, '-o', 'out.ppm'] - result = self.cmd(c) - logging.debug("deskew result: " + result) - shutil.move('out.ppm', deskew_page) - os.remove(page) - self.pages = deskew_pages - os.chdir(cwd) - def file_save(self, source_file): f = tkFileDialog.asksaveasfile(mode='w', defaultextension=".pdf") @@ -207,7 +151,6 @@ def file_save(self, source_file): shutil.move(source_file, target_path) def run_convert(self, post_process): - cwd = os.getcwd() os.chdir(self.tmp_dir) if self.pdf_filename is not None: pdf_basename = os.path.basename(self.pdf_filename) @@ -241,87 +184,7 @@ def run_convert(self, post_process): # IF we did the scan, then remove the tmp dir too if self.args['scan'] and not self.args['--keep-tmpdir']: os.rmdir(self.tmp_dir) - os.chdir(cwd) - - def convert_to_bw(self): - new_pages = [] - for i, page in enumerate(self.pages): - filename = os.path.join(self.tmp_dir, page) - logging.info("checking if " + os.path.basename(filename) + " is bw...") - if self._is_color(filename): - new_pages.append(page) - else: # COnvert to BW - bw_page = self._page_to_bw(filename) - new_pages.append(bw_page) - self.pages = new_pages - - - def _page_to_bw(self, page): - out_page = "%s_bw" % page - cwd = os.getcwd() - os.chdir(self.tmp_dir) - - cmd = "convert %s +dither -colors 2 -colorspace gray -normalize %s_bw" % (page, page) - out = self.cmd(cmd) - # Remove the old file - os.remove(page) - os.chdir(cwd) - return out_page - - def _is_color(self, filename): - """ - Run the following command from ImageMagick: - - :: - - convert holi.pdf -colors 8 -depth 8 -format %c histogram:info:- - - This outputs something like the following: - :: - - 10831: ( 24, 26, 26,255) #181A1A srgba(24,26,26,1) - 4836: ( 55, 87, 79,255) #37574F srgba(55,87,79,1) - 6564: ( 77,138,121,255) #4D8A79 srgba(77,138,121,1) - 4997: ( 86, 96, 93,255) #56605D srgba(86,96,93,1) - 7005: ( 92,153,139,255) #5C998B srgba(92,153,139,1) - 2479: (143,118,123,255) #8F767B srgba(143,118,123,1) - 8870: (169,176,170,255) #A9B0AA srgba(169,176,170,1) - 442906: (254,254,254,255) #FEFEFE srgba(254,254,254,1) - 1053: ( 0, 0, 0,255) #000000 black - 484081: (255,255,255,255) #FFFFFF white - - """ - cmd = "convert %s -colors 8 -depth 8 -format %%c histogram:info:-" % filename - out = self.cmd(cmd) - mLine = re.compile(r"""\s*(?P\d+):\s*\(\s*(?P\d+),\s*(?P\d+),\s*(?P\d+).+""") - colors = [] - for line in out.splitlines(): - matchLine = mLine.search(line) - if matchLine: - logging.debug("Found RGB values") - color = [int(x) for x in (matchLine.group('count'), - matchLine.group('R'), - matchLine.group('G'), - matchLine.group('B'), - ) - ] - colors.append(color) - # sort - colors.sort(reverse=True, key=lambda x: x[0]) - logging.debug(colors) - is_color = False - logging.debug(colors) - for color in colors: - # Calculate the mean differences between the RGB components - # Shades of grey will be very close to zero in this metric... - diff = float(sum([abs(color[2] - color[1]), - abs(color[3] - color[1]), - abs(color[3] - color[2]), - ])) / 3 - if diff > 20: - is_color = True - logging.debug("Found color") - return is_color + os.chdir(self.cwd) def get_options(self, argv): """ @@ -374,6 +237,147 @@ def get_options(self, argv): assert (self.blank_threshold >= 0 and self.blank_threshold <= 1.0) self.post_process = argv['--post-process'] + class ProcessPage: + page = None + scanpdf = None + + + def __init__(self, page, scanpdf): + """ + """ + self.page = page + self.scanpdf = scanpdf + os.chdir(self.scanpdf.tmp_dir) + + + def process(self): + self.run_deskew() + if self.scanpdf.args['--crop']: + self.run_crop() + self.convert_to_bw() + if not self.scanpdf.keep_blanks: + self.remove_blank() + + def run_deskew(self): + deskew = os.path.dirname(os.path.realpath(__file__)) + '/../resources/deskew64' + logging.info("Deskewing: " + os.path.basename(self.page)) + ppm_page = '%s.ppm' % self.page + c = [deskew, ' %s ' % self.page, '-o', ppm_page] + result = self.cmd(c) + logging.debug("deskew result: " + result) + os.remove(self.page) + self.page = ppm_page + + def run_crop(self): + logging.info("Cropping: " + os.path.basename(self.page)) + crop_page = '%s.crop' % self.page + c = ['convert', '-fuzz 20%', '-trim', self.page, crop_page,] # TODO: Check comma status + self.cmd(c) + os.remove(self.page) + self.page = crop_page + + def cmd(self, cmd_list): + if isinstance(cmd_list, list): + cmd_list = ' '.join(cmd_list) + logging.debug("Running cmd: %s" % cmd_list) + try: + out = subprocess.check_output(cmd_list, stderr=subprocess.STDOUT, shell=True) + logging.debug(out) + return out + except subprocess.CalledProcessError as e: + print e.output + self._error("Could not run command %s" % cmd_list) + + def convert_to_bw(self): + logging.info("Checking if: " + os.path.basename(self.page) + " is bw...") + if not self._is_color(): + self._page_to_bw() + + + def _page_to_bw(self): + bw_page = "%s_bw" % self.page + cmd = "convert %s +dither -colors 2 -colorspace gray -normalize %s_bw" % (self.page, self.page) + out = self.cmd(cmd) + # Remove the old file + os.remove(self.page) + self.page = bw_page + + def remove_blank(self): + logging.info("Checking if: " + os.path.basename(self.page) + " is blank") + if self.is_blank(): + os.remove(self.page) + self.page = None + + def is_blank(self): + """ + + :param filename: page to examine + :return: true if image is blank + """ + if not os.path.exists(self.page): + return True + c = 'identify -verbose %s' % self.page + result = self.cmd(c) + mStdDev = re.compile("""\s*standard deviation:\s*\d+\.\d+\s*\((?P\d+\.\d+)\).*""") + for line in result.splitlines(): + match = mStdDev.search(line) + if match: + stdev = float(match.group('percent')) + logging.info(os.path.basename(self.page) + " std. dev: " + "{0:.4f}".format(stdev)) + if stdev > 1. - self.scanpdf.blank_threshold: + return False + return True + + + def _is_color(self): + """ + Run the following command from ImageMagick: + convert holi.pdf -colors 8 -depth 8 -format %c histogram:info:- + This outputs something like the following: + 10831: ( 24, 26, 26,255) #181A1A srgba(24,26,26,1) + 4836: ( 55, 87, 79,255) #37574F srgba(55,87,79,1) + 6564: ( 77,138,121,255) #4D8A79 srgba(77,138,121,1) + 4997: ( 86, 96, 93,255) #56605D srgba(86,96,93,1) + 7005: ( 92,153,139,255) #5C998B srgba(92,153,139,1) + 2479: (143,118,123,255) #8F767B srgba(143,118,123,1) + 8870: (169,176,170,255) #A9B0AA srgba(169,176,170,1) + 442906: (254,254,254,255) #FEFEFE srgba(254,254,254,1) + 1053: ( 0, 0, 0,255) #000000 black + 484081: (255,255,255,255) #FFFFFF white + """ + c = "convert %s -colors 8 -depth 8 -format %%c histogram:info:-" % self.page + out = self.cmd(c) + mLine = re.compile(r"""\s*(?P\d+):\s*\(\s*(?P\d+),\s*(?P\d+),\s*(?P\d+).+""") + colors = [] + for line in out.splitlines(): + matchLine = mLine.search(line) + if matchLine: + logging.debug("Found RGB values") + color = [int(x) for x in (matchLine.group('count'), + matchLine.group('R'), + matchLine.group('G'), + matchLine.group('B'), + ) + ] + colors.append(color) + # sort + colors.sort(reverse=True, key=lambda x: x[0]) + logging.debug(colors) + is_color = False + logging.debug(colors) + for color in colors: + # Calculate the mean differences between the RGB components + # Shades of grey will be very close to zero in this metric... + diff = float(sum([abs(color[2] - color[1]), + abs(color[3] - color[1]), + abs(color[3] - color[2]), + ])) / 3 + if diff > 20: + is_color = True + logging.debug("Found color") + return is_color + + def go(self, argv): """ The main entry point into ScanPdf @@ -383,7 +387,11 @@ def go(self, argv): #. Run scanadf """ # Read the command line options + + self.get_options(argv) + start = time.time() + logging.info("Starting: " + time.strftime(date_format)) logging.info("Temp dir: %s" % self.tmp_dir) if self.args['scan']: self.run_scan() @@ -395,40 +403,21 @@ def go(self, argv): if self.args['--face-up'] == 'True': # Default is a text value of 'True' self.reorder_face_up() - logging.debug(self.pages) - - # Deskew the pages - self.run_deskew() - - if self.args['--crop']: - self.run_crop() - - # Now, check if color or bw - self.convert_to_bw() - logging.debug(self.pages) + processed_pages = [] + for page in self.pages: + processed_page = self.ProcessPage(page, self) + processed_page.process() + if processed_page.page is not None: + processed_pages.append(processed_page) - # Run blanks - if not self.keep_blanks: - self.remove_blanks() + self.pages = [processed_page.page for processed_page in processed_pages] logging.debug(self.pages) + self.run_convert(self.post_process) - if self.post_process: - self.run_convert(True) - else: - self.run_convert(False) - - def remove_blanks(self): - no_blank_pages = [] - for i, page in enumerate(self.pages): - filename = os.path.join(self.tmp_dir, page) - logging.info("Checking if %s is blank..." % os.path.basename(filename)) - if not self.is_blank(filename): - no_blank_pages.append(page) - else: - logging.info(" page %s is blank, removing..." % i) - os.remove(filename) - self.pages = no_blank_pages + end = time.time() + logging.info("End: " + time.strftime(date_format)) + logging.info("Elapsed Time (seconds): " + str(end - start)) From b8b32c7dc5fa9e777bd2e030106108811536e31d Mon Sep 17 00:00:00 2001 From: Dale Furrow Date: Mon, 19 Sep 2016 13:43:41 -0500 Subject: [PATCH 07/15] Removed class nesting, implemented multithreading --- scanpdf/scanpdf.py | 306 +++++++++++++++++++++------------------------ 1 file changed, 145 insertions(+), 161 deletions(-) diff --git a/scanpdf/scanpdf.py b/scanpdf/scanpdf.py index 4b13fd0..7f48d77 100644 --- a/scanpdf/scanpdf.py +++ b/scanpdf/scanpdf.py @@ -41,19 +41,150 @@ import shutil import subprocess import sys -import time import tkFileDialog import time import docopt +import multiprocessing +from multiprocessing.dummy import Pool as Threadpool from version import __version__ date_format = '%m/%d/%Y %H:%M:%S' + +class ProcessPage: + page = None + scanpdf = None + + def __init__(self, page, scanpdf): + """ + """ + self.page = page + self.scanpdf = scanpdf + os.chdir(self.scanpdf.tmp_dir) + + def process(self): + self.run_deskew() + if self.scanpdf.args['--crop']: + self.run_crop() + self.convert_to_bw() + if not self.scanpdf.keep_blanks: + self.remove_blank() + + def run_deskew(self): + deskew = os.path.dirname(os.path.realpath(__file__)) + '/../resources/deskew64' + logging.info("Deskewing: " + os.path.basename(self.page)) + ppm_page = '%s.ppm' % self.page + c = [deskew, ' %s ' % self.page, '-o', ppm_page] + result = self.scanpdf.cmd(c) + logging.debug("deskew result: " + result) + os.remove(self.page) + self.page = ppm_page + + def run_crop(self): + logging.info("Cropping: " + os.path.basename(self.page)) + crop_page = '%s.crop' % self.page + c = ['convert', '-fuzz 20%', '-trim', self.page, crop_page, ] # TODO: Check comma status + self.scanpdf.cmd(c) + os.remove(self.page) + self.page = crop_page + + def convert_to_bw(self): + logging.info("Checking if: " + os.path.basename(self.page) + " is bw...") + if not self._is_color(): + self._page_to_bw() + + def _page_to_bw(self): + bw_page = "%s_bw" % self.page + c = "convert %s +dither -colors 2 -colorspace gray -normalize %s_bw" % (self.page, self.page) + self.scanpdf.cmd(c) + # Remove the old file + os.remove(self.page) + self.page = bw_page + + @staticmethod + def run(args): + process_page = ProcessPage(args[0], args[1]) + process_page.process() + return process_page.page + + def remove_blank(self): + logging.info("Checking if: " + os.path.basename(self.page) + " is blank") + if self.is_blank(): + os.remove(self.page) + self.page = None + + def is_blank(self): + """ + :return: true if image is blank + """ + if not os.path.exists(self.page): + return True + c = 'identify -verbose %s' % self.page + result = self.scanpdf.cmd(c) + mStdDev = re.compile("""\s*standard deviation:\s*\d+\.\d+\s*\((?P\d+\.\d+)\).*""") + for line in result.splitlines(): + match = mStdDev.search(line) + if match: + stdev = float(match.group('percent')) + logging.info(os.path.basename(self.page) + " std. dev: " + "{0:.4f}".format(stdev)) + if stdev > 1. - self.scanpdf.blank_threshold: + return False + return True + + def _is_color(self): + """ + Run the following command from ImageMagick: + convert holi.pdf -colors 8 -depth 8 -format %c histogram:info:- + This outputs something like the following: + 10831: ( 24, 26, 26,255) #181A1A srgba(24,26,26,1) + 4836: ( 55, 87, 79,255) #37574F srgba(55,87,79,1) + 6564: ( 77,138,121,255) #4D8A79 srgba(77,138,121,1) + 4997: ( 86, 96, 93,255) #56605D srgba(86,96,93,1) + 7005: ( 92,153,139,255) #5C998B srgba(92,153,139,1) + 2479: (143,118,123,255) #8F767B srgba(143,118,123,1) + 8870: (169,176,170,255) #A9B0AA srgba(169,176,170,1) + 442906: (254,254,254,255) #FEFEFE srgba(254,254,254,1) + 1053: ( 0, 0, 0,255) #000000 black + 484081: (255,255,255,255) #FFFFFF white + """ + c = "convert %s -colors 8 -depth 8 -format %%c histogram:info:-" % self.page + out = self.scanpdf.cmd(c) + m_line = re.compile(r"""\s*(?P\d+):\s*\(\s*(?P\d+),\s*(?P\d+),\s*(?P\d+).+""") + colors = [] + for line in out.splitlines(): + match_line = m_line.search(line) + if match_line: + logging.debug("Found RGB values") + color = [int(x) for x in (match_line.group('count'), + match_line.group('R'), + match_line.group('G'), + match_line.group('B'), + ) + ] + colors.append(color) + # sort + colors.sort(reverse=True, key=lambda x: x[0]) + logging.debug(colors) + is_color = False + logging.debug(colors) + for color in colors: + # Calculate the mean differences between the RGB components + # Shades of grey will be very close to zero in this metric... + diff = float(sum([abs(color[2] - color[1]), + abs(color[3] - color[1]), + abs(color[3] - color[2]), + ])) / 3 + if diff > 20: + is_color = True + logging.debug("Found color") + return is_color + + class ScanPdf(object): pages = None cwd = None """ - The main clas. Performs the following functions: + The main class. Performs the following functions: """ @@ -140,7 +271,6 @@ def run_postprocess(self, pdf_file): os.remove(pdf_file) shutil.move(ocr_file, pdf_file) - def file_save(self, source_file): f = tkFileDialog.asksaveasfile(mode='w', defaultextension=".pdf") if f is None: # asksaveasfile return `None` if dialog closed with "cancel". @@ -192,11 +322,6 @@ def get_options(self, argv): :param argv: usually just sys.argv[1:] :returns: Nothing - - :ivar debug: Enable logging debug statements - :ivar verbose: Enable verbose logging - :ivar config: Dict of the config file - """ self.args = argv @@ -237,149 +362,8 @@ def get_options(self, argv): assert (self.blank_threshold >= 0 and self.blank_threshold <= 1.0) self.post_process = argv['--post-process'] - class ProcessPage: - page = None - scanpdf = None - - - def __init__(self, page, scanpdf): - """ - """ - self.page = page - self.scanpdf = scanpdf - os.chdir(self.scanpdf.tmp_dir) - - - def process(self): - self.run_deskew() - if self.scanpdf.args['--crop']: - self.run_crop() - self.convert_to_bw() - if not self.scanpdf.keep_blanks: - self.remove_blank() - - def run_deskew(self): - deskew = os.path.dirname(os.path.realpath(__file__)) + '/../resources/deskew64' - logging.info("Deskewing: " + os.path.basename(self.page)) - ppm_page = '%s.ppm' % self.page - c = [deskew, ' %s ' % self.page, '-o', ppm_page] - result = self.cmd(c) - logging.debug("deskew result: " + result) - os.remove(self.page) - self.page = ppm_page - - def run_crop(self): - logging.info("Cropping: " + os.path.basename(self.page)) - crop_page = '%s.crop' % self.page - c = ['convert', '-fuzz 20%', '-trim', self.page, crop_page,] # TODO: Check comma status - self.cmd(c) - os.remove(self.page) - self.page = crop_page - - def cmd(self, cmd_list): - if isinstance(cmd_list, list): - cmd_list = ' '.join(cmd_list) - logging.debug("Running cmd: %s" % cmd_list) - try: - out = subprocess.check_output(cmd_list, stderr=subprocess.STDOUT, shell=True) - logging.debug(out) - return out - except subprocess.CalledProcessError as e: - print e.output - self._error("Could not run command %s" % cmd_list) - - def convert_to_bw(self): - logging.info("Checking if: " + os.path.basename(self.page) + " is bw...") - if not self._is_color(): - self._page_to_bw() - - - def _page_to_bw(self): - bw_page = "%s_bw" % self.page - cmd = "convert %s +dither -colors 2 -colorspace gray -normalize %s_bw" % (self.page, self.page) - out = self.cmd(cmd) - # Remove the old file - os.remove(self.page) - self.page = bw_page - - def remove_blank(self): - logging.info("Checking if: " + os.path.basename(self.page) + " is blank") - if self.is_blank(): - os.remove(self.page) - self.page = None - - def is_blank(self): - """ - - :param filename: page to examine - :return: true if image is blank - """ - if not os.path.exists(self.page): - return True - c = 'identify -verbose %s' % self.page - result = self.cmd(c) - mStdDev = re.compile("""\s*standard deviation:\s*\d+\.\d+\s*\((?P\d+\.\d+)\).*""") - for line in result.splitlines(): - match = mStdDev.search(line) - if match: - stdev = float(match.group('percent')) - logging.info(os.path.basename(self.page) + " std. dev: " + "{0:.4f}".format(stdev)) - if stdev > 1. - self.scanpdf.blank_threshold: - return False - return True - - - def _is_color(self): - """ - Run the following command from ImageMagick: - convert holi.pdf -colors 8 -depth 8 -format %c histogram:info:- - This outputs something like the following: - 10831: ( 24, 26, 26,255) #181A1A srgba(24,26,26,1) - 4836: ( 55, 87, 79,255) #37574F srgba(55,87,79,1) - 6564: ( 77,138,121,255) #4D8A79 srgba(77,138,121,1) - 4997: ( 86, 96, 93,255) #56605D srgba(86,96,93,1) - 7005: ( 92,153,139,255) #5C998B srgba(92,153,139,1) - 2479: (143,118,123,255) #8F767B srgba(143,118,123,1) - 8870: (169,176,170,255) #A9B0AA srgba(169,176,170,1) - 442906: (254,254,254,255) #FEFEFE srgba(254,254,254,1) - 1053: ( 0, 0, 0,255) #000000 black - 484081: (255,255,255,255) #FFFFFF white - """ - c = "convert %s -colors 8 -depth 8 -format %%c histogram:info:-" % self.page - out = self.cmd(c) - mLine = re.compile(r"""\s*(?P\d+):\s*\(\s*(?P\d+),\s*(?P\d+),\s*(?P\d+).+""") - colors = [] - for line in out.splitlines(): - matchLine = mLine.search(line) - if matchLine: - logging.debug("Found RGB values") - color = [int(x) for x in (matchLine.group('count'), - matchLine.group('R'), - matchLine.group('G'), - matchLine.group('B'), - ) - ] - colors.append(color) - # sort - colors.sort(reverse=True, key=lambda x: x[0]) - logging.debug(colors) - is_color = False - logging.debug(colors) - for color in colors: - # Calculate the mean differences between the RGB components - # Shades of grey will be very close to zero in this metric... - diff = float(sum([abs(color[2] - color[1]), - abs(color[3] - color[1]), - abs(color[3] - color[2]), - ])) / 3 - if diff > 20: - is_color = True - logging.debug("Found color") - return is_color - - def go(self, argv): - """ + """ The main entry point into ScanPdf #. Get the options @@ -387,8 +371,6 @@ def go(self, argv): #. Run scanadf """ # Read the command line options - - self.get_options(argv) start = time.time() logging.info("Starting: " + time.strftime(date_format)) @@ -403,14 +385,17 @@ def go(self, argv): if self.args['--face-up'] == 'True': # Default is a text value of 'True' self.reorder_face_up() - processed_pages = [] - for page in self.pages: - processed_page = self.ProcessPage(page, self) - processed_page.process() - if processed_page.page is not None: - processed_pages.append(processed_page) + start_pages = [(page, self) for page in self.pages] - self.pages = [processed_page.page for processed_page in processed_pages] + threads_to_run = multiprocessing.cpu_count() + logging.info('Processing pages with {0:d} threads...'.format(threads_to_run)) + + pool = Threadpool(threads_to_run) + results = pool.map(ProcessPage.run, start_pages) + pool.close() + pool.join() + + self.pages = [page for page in results if page is not None] logging.debug(self.pages) self.run_convert(self.post_process) @@ -418,8 +403,7 @@ def go(self, argv): end = time.time() logging.info("End: " + time.strftime(date_format)) logging.info("Elapsed Time (seconds): " + str(end - start)) - - + def main(): os.environ["SCANBD_DEVICE"] = 'net:localhost:fujitsu:ScanSnap S1500:1448' From 5f9b8ad8bde640fc6c895c4cdb9cb40ae2d7f46a Mon Sep 17 00:00:00 2001 From: Dale Furrow Date: Mon, 19 Sep 2016 13:56:14 -0500 Subject: [PATCH 08/15] Minor reformatting to conform with PEP --- scanpdf/scanpdf.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/scanpdf/scanpdf.py b/scanpdf/scanpdf.py index 7f48d77..2722781 100644 --- a/scanpdf/scanpdf.py +++ b/scanpdf/scanpdf.py @@ -121,9 +121,9 @@ def is_blank(self): return True c = 'identify -verbose %s' % self.page result = self.scanpdf.cmd(c) - mStdDev = re.compile("""\s*standard deviation:\s*\d+\.\d+\s*\((?P\d+\.\d+)\).*""") + m_std_dev = re.compile("""\s*standard deviation:\s*\d+\.\d+\s*\((?P\d+\.\d+)\).*""") for line in result.splitlines(): - match = mStdDev.search(line) + match = m_std_dev.search(line) if match: stdev = float(match.group('percent')) logging.info(os.path.basename(self.page) + " std. dev: " + "{0:.4f}".format(stdev)) @@ -183,6 +183,13 @@ def _is_color(self): class ScanPdf(object): pages = None cwd = None + tmp_dir = None + args = None + pdf_filename = None + dpi = None + keep_blanks = None + blank_threhold = None + post_process = None """ The main class. Performs the following functions: @@ -271,7 +278,8 @@ def run_postprocess(self, pdf_file): os.remove(pdf_file) shutil.move(ocr_file, pdf_file) - def file_save(self, source_file): + @staticmethod + def file_save(source_file): f = tkFileDialog.asksaveasfile(mode='w', defaultextension=".pdf") if f is None: # asksaveasfile return `None` if dialog closed with "cancel". return @@ -335,10 +343,7 @@ def get_options(self, argv): logging.info('saving to file: ' + self.pdf_filename) else: logging.info(' is \"None\", saving file via dialog...') - self.pdf_filename = None - self.dpi = self.args['--dpi'] - output_dir = time.strftime('%Y%m%d_%H%M%S', time.localtime()) if argv['--tmpdir']: self.tmp_dir = argv['--tmpdir'] @@ -403,7 +408,7 @@ def go(self, argv): end = time.time() logging.info("End: " + time.strftime(date_format)) logging.info("Elapsed Time (seconds): " + str(end - start)) - + def main(): os.environ["SCANBD_DEVICE"] = 'net:localhost:fujitsu:ScanSnap S1500:1448' From a247af60c5cfe1e83a8022cd6ae0abba1dfe28ac Mon Sep 17 00:00:00 2001 From: Dale Furrow Date: Mon, 19 Sep 2016 14:34:59 -0500 Subject: [PATCH 09/15] Put deskew into same folder as scanpdf --- {resources => scanpdf}/deskew64 | Bin scanpdf/scanpdf.py | 10 +++++----- scanpdf/test_gui.py | 23 ----------------------- test/checkscanpdf.py | 4 ++-- 4 files changed, 7 insertions(+), 30 deletions(-) rename {resources => scanpdf}/deskew64 (100%) delete mode 100644 scanpdf/test_gui.py diff --git a/resources/deskew64 b/scanpdf/deskew64 similarity index 100% rename from resources/deskew64 rename to scanpdf/deskew64 diff --git a/scanpdf/scanpdf.py b/scanpdf/scanpdf.py index 2722781..bbe76e2 100644 --- a/scanpdf/scanpdf.py +++ b/scanpdf/scanpdf.py @@ -30,7 +30,7 @@ --face-up= Face-up scanning [default: True] --keep-blanks Don't check for and remove blank pages --blank-threshold= Percentage of white to be marked as blank [default: 0.97] - --post-process Run unpaper to deskew/clean up + --post-process Run pdfsandwich for text recognition """ @@ -71,7 +71,7 @@ def process(self): self.remove_blank() def run_deskew(self): - deskew = os.path.dirname(os.path.realpath(__file__)) + '/../resources/deskew64' + deskew = os.path.dirname(os.path.realpath(__file__)) + os.path.sep + 'deskew64' logging.info("Deskewing: " + os.path.basename(self.page)) ppm_page = '%s.ppm' % self.page c = [deskew, ' %s ' % self.page, '-o', ppm_page] @@ -163,7 +163,7 @@ def _is_color(self): ] colors.append(color) # sort - colors.sort(reverse=True, key=lambda x: x[0]) + colors.sort(reverse=True, key=lambda y: y[0]) logging.debug(colors) is_color = False logging.debug(colors) @@ -188,7 +188,7 @@ class ScanPdf(object): pdf_filename = None dpi = None keep_blanks = None - blank_threhold = None + blank_threshold = None post_process = None """ The main class. Performs the following functions: @@ -364,7 +364,7 @@ def get_options(self, argv): # Blank checks self.keep_blanks = argv['--keep-blanks'] self.blank_threshold = float(argv['--blank-threshold']) - assert (self.blank_threshold >= 0 and self.blank_threshold <= 1.0) + assert (0 <= self.blank_threshold <= 1.0) self.post_process = argv['--post-process'] def go(self, argv): diff --git a/scanpdf/test_gui.py b/scanpdf/test_gui.py deleted file mode 100644 index 3c1822a..0000000 --- a/scanpdf/test_gui.py +++ /dev/null @@ -1,23 +0,0 @@ -import shutil -import tkFileDialog -import os - -OUTPUT_DIRECTORY = "/home/dale/Temp" -FILENAME = "image_test.pdf" - -def file_save(source_file): - f = tkFileDialog.asksaveasfile(mode='w', defaultextension=".pdf") - if f is None: # asksaveasfile return `None` if dialog closed with "cancel". - return - target_path = f.name - f.close() - os.remove(target_path) - shutil.move(source_file, target_path) - - - -def main(): - file_save(os.path.join(OUTPUT_DIRECTORY, FILENAME)) - -if __name__ == '__main__': - main() diff --git a/test/checkscanpdf.py b/test/checkscanpdf.py index 5a91837..c78c93c 100644 --- a/test/checkscanpdf.py +++ b/test/checkscanpdf.py @@ -14,8 +14,8 @@ def main(): os.remove(full_path) os.environ["SCANBD_DEVICE"] = 'net:localhost:fujitsu:ScanSnap S1500:1448' args = {'scan': True, 'pdf': True, '': full_path, - '--verbose': True, '--debug': True, '--dpi': 300, '--crop': False, '--tmpdir':False, - '--keep-blanks':False, '--blank-threshold':0.80, '--post-process':False, + '--verbose': True, '--debug': True, '--dpi': 300, '--crop': True, '--tmpdir':False, + '--keep-blanks':False, '--blank-threshold':0.80, '--post-process':True, '--face-up':False, '--keep-tmpdir':False} script = scanpdf.ScanPdf() print args From cd2677208c207fe7f55bda0daa3594b189d8fb4a Mon Sep 17 00:00:00 2001 From: Dale Furrow Date: Mon, 19 Sep 2016 16:12:58 -0500 Subject: [PATCH 10/15] Put unpaper options back in --- scanpdf/scanpdf.py | 34 ++++++++++++++++++++++++++-------- test/checkscanpdf.py | 6 +++--- 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/scanpdf/scanpdf.py b/scanpdf/scanpdf.py index bbe76e2..f0d6642 100644 --- a/scanpdf/scanpdf.py +++ b/scanpdf/scanpdf.py @@ -29,8 +29,9 @@ --keep-tmpdir Whether to keep the tmp dir after scanning or not [default: False] --face-up= Face-up scanning [default: True] --keep-blanks Don't check for and remove blank pages - --blank-threshold= Percentage of white to be marked as blank [default: 0.97] - --post-process Run pdfsandwich for text recognition + --blank-threshold= Percentage of white to be marked as blank [default: 0.97] + --post-process Process finished images with unpaper + --text-recognize Run pdfsandwich for text recognition """ @@ -64,11 +65,14 @@ def __init__(self, page, scanpdf): def process(self): self.run_deskew() - if self.scanpdf.args['--crop']: + if self.scanpdf.crop: self.run_crop() self.convert_to_bw() if not self.scanpdf.keep_blanks: self.remove_blank() + if self.page is not None and self.scanpdf.post_process: + self.run_postprocess() + def run_deskew(self): deskew = os.path.dirname(os.path.realpath(__file__)) + os.path.sep + 'deskew64' @@ -88,6 +92,16 @@ def run_crop(self): os.remove(self.page) self.page = crop_page + def run_postprocess(self): + logging.info("Post-processing with unpaper: " + os.path.basename(self.page)) + shutil.move(self.page, '%s.ppm' % self.page) + self.page = '%s.ppm' % self.page + processed_page = '%s_unpaper' % self.page + c = ['unpaper', self.page, processed_page] + self.scanpdf.cmd(c) + os.remove(self.page) + self.page = processed_page + def convert_to_bw(self): logging.info("Checking if: " + os.path.basename(self.page) + " is bw...") if not self._is_color(): @@ -189,7 +203,9 @@ class ScanPdf(object): dpi = None keep_blanks = None blank_threshold = None + crop = None post_process = None + text_recognize = None """ The main class. Performs the following functions: @@ -270,7 +286,7 @@ def reorder_face_up(self): # else: # return False - def run_postprocess(self, pdf_file): + def run_text_recognize(self, pdf_file): c = ['pdfsandwich', '-coo', '\"-deskew 40%\"', pdf_file] self.cmd(c) filename, file_extension = os.path.splitext(pdf_file) @@ -288,7 +304,7 @@ def file_save(source_file): os.remove(target_path) shutil.move(source_file, target_path) - def run_convert(self, post_process): + def run_convert(self, text_recognize): os.chdir(self.tmp_dir) if self.pdf_filename is not None: pdf_basename = os.path.basename(self.pdf_filename) @@ -308,9 +324,9 @@ def run_convert(self, post_process): pdf_basename, ] self.cmd(c) - if post_process: + if text_recognize: logging.info("running pdf sandwich for text recognition...") - self.run_postprocess(pdf_basename) + self.run_text_recognize(pdf_basename) if self.pdf_filename is not None: shutil.move(pdf_basename, self.pdf_filename) else: @@ -365,6 +381,8 @@ def get_options(self, argv): self.keep_blanks = argv['--keep-blanks'] self.blank_threshold = float(argv['--blank-threshold']) assert (0 <= self.blank_threshold <= 1.0) + self.crop = argv['--crop'] + self.text_recognize = argv['--text-recognize'] self.post_process = argv['--post-process'] def go(self, argv): @@ -403,7 +421,7 @@ def go(self, argv): self.pages = [page for page in results if page is not None] logging.debug(self.pages) - self.run_convert(self.post_process) + self.run_convert(self.text_recognize) end = time.time() logging.info("End: " + time.strftime(date_format)) diff --git a/test/checkscanpdf.py b/test/checkscanpdf.py index c78c93c..5533722 100644 --- a/test/checkscanpdf.py +++ b/test/checkscanpdf.py @@ -14,9 +14,9 @@ def main(): os.remove(full_path) os.environ["SCANBD_DEVICE"] = 'net:localhost:fujitsu:ScanSnap S1500:1448' args = {'scan': True, 'pdf': True, '': full_path, - '--verbose': True, '--debug': True, '--dpi': 300, '--crop': True, '--tmpdir':False, - '--keep-blanks':False, '--blank-threshold':0.80, '--post-process':True, - '--face-up':False, '--keep-tmpdir':False} + '--verbose': True, '--debug': True, '--dpi': 300, '--crop': False, '--tmpdir':False, + '--keep-blanks':False, '--blank-threshold':0.80, '--text-recognize':False, + '--face-up':False, '--keep-tmpdir':False, '--post-process': False} script = scanpdf.ScanPdf() print args script.go(args) From 9715fed4e7378945a460699552ed036a393d469d Mon Sep 17 00:00:00 2001 From: Dale Furrow Date: Tue, 20 Sep 2016 11:16:10 -0500 Subject: [PATCH 11/15] Minor formatting and commenting changes --- docs/deskew_readme.txt | 63 ++++++++++++++++++++++++++++++++++++++++++ scanpdf/scanpdf.py | 7 +++-- test/checkscanpdf.py | 7 +++-- 3 files changed, 72 insertions(+), 5 deletions(-) create mode 100644 docs/deskew_readme.txt diff --git a/docs/deskew_readme.txt b/docs/deskew_readme.txt new file mode 100644 index 0000000..a121215 --- /dev/null +++ b/docs/deskew_readme.txt @@ -0,0 +1,63 @@ +Deskew +------------------------ +by Marek Mauder +http://galfar.vevb.net/deskew/ +https://bitbucket.org/galfar/app-deskew + +v1.10 2014-03-04 + +Overview +------------------------ + +Deskew is a command line tool for deskewing scanned text documents. +It uses Hough transform to detect "text lines" in the image. As an output, you get +an image rotated so that the lines are horizontal. + +There are binaries built for these platforms (located in Bin folder): +Win32, Win64, Linux 32bit+64bit, Mac OSX 32bit. Some binaries have sufix +identifying their platform (deskew64.exe, deskew-osx, etc.). + +You can find some test images in TestImages folder and +scripts to run tests (RunTests.bat and runtests.sh) in Bin. +Note that scripts just call 'deskew' command so you may need +to rename binary for your platform to just 'deskew'. + +Usage +------------------------ + +deskew [-o output] [-a angle] [-t a|treshold] [-b color] [-r rect] [-f format] [-s info] input + -o output: Output image file (default: out.png) + -a angle: Maximal skew angle in degrees (default: 10) + -t a|treshold: Auto threshold or value in 0..255 (default: a) + -b color: Background color in hex format RRGGBB (default: trns. black) + -r rect: Skew detection only in content rectangle (pixels): + left,top,right,bottom (default: whole page) + -f format: Force output pixel format (values: b1|g8|rgba32) + -s info: Info dump (any combination of): + s - skew detection stats, p - program parameters + input: Input image file + + Supported file formats + Input: BMP, JPG, PNG, JNG, GIF, DDS, TGA, PBM, PGM, PPM, PAM, PFM, PSD, TIF (depends on platform) + Output: BMP, JPG, PNG, JNG, GIF, DDS, TGA, PGM, PPM, PAM, PFM, PSD, TIF (depends on platform) + +Version History +------------------------ + 1.10 2014-03-04: + - TIFF support for Win64 and 32/64bit Linux + - forced output formats + - fix: output file name were always lowercase + - fix: preserves resolution metadata (e.g. 300dpi) of input when writing output + 1.00 2012-06-04: + - background color + - "area of interest" content rect + - 64bit and Mac OSX support + - PSD and TIFF (win32) support + - show skew detection stats and program parameters + 0.95 2010-12-28: + - Added auto thresholding + - Imaging library updated. + 0.90 2010-02-12: + -Initial version + + diff --git a/scanpdf/scanpdf.py b/scanpdf/scanpdf.py index f0d6642..770b79c 100644 --- a/scanpdf/scanpdf.py +++ b/scanpdf/scanpdf.py @@ -87,7 +87,7 @@ def run_deskew(self): def run_crop(self): logging.info("Cropping: " + os.path.basename(self.page)) crop_page = '%s.crop' % self.page - c = ['convert', '-fuzz 20%', '-trim', self.page, crop_page, ] # TODO: Check comma status + c = ['convert', '-fuzz 20%', '-trim', self.page, crop_page] self.scanpdf.cmd(c) os.remove(self.page) self.page = crop_page @@ -243,6 +243,9 @@ def run_scan(self): ] self.cmd(c) self.cmd('logger -t "scanbd: " "End of scan "') + file_count = len([name for name in os.listdir(self.tmp_dir) if + os.path.isfile(os.path.join(self.tmp_dir, name))]) + logging.info('Receved {0:d} files in {1:}...'.format(file_count, self.tmp_dir)) @staticmethod def _error(msg): @@ -425,7 +428,7 @@ def go(self, argv): end = time.time() logging.info("End: " + time.strftime(date_format)) - logging.info("Elapsed Time (seconds): " + str(end - start)) + logging.info("Elapsed Time (seconds): {0:.2f}".format(end-start)) def main(): diff --git a/test/checkscanpdf.py b/test/checkscanpdf.py index 5533722..b590164 100644 --- a/test/checkscanpdf.py +++ b/test/checkscanpdf.py @@ -8,15 +8,16 @@ OUTPUT_DIRECTORY = "/home/dale/Temp" FILENAME = "image_test.pdf" + def main(): full_path = os.path.join(OUTPUT_DIRECTORY, FILENAME) if os.path.exists(full_path): os.remove(full_path) os.environ["SCANBD_DEVICE"] = 'net:localhost:fujitsu:ScanSnap S1500:1448' args = {'scan': True, 'pdf': True, '': full_path, - '--verbose': True, '--debug': True, '--dpi': 300, '--crop': False, '--tmpdir':False, - '--keep-blanks':False, '--blank-threshold':0.80, '--text-recognize':False, - '--face-up':False, '--keep-tmpdir':False, '--post-process': False} + '--verbose': True, '--debug': True, '--dpi': 300, '--crop': False, '--tmpdir': False, + '--keep-blanks': False, '--blank-threshold': 0.80, '--text-recognize': False, + '--face-up': False, '--keep-tmpdir': False, '--post-process': False} script = scanpdf.ScanPdf() print args script.go(args) From f5fb24f408a7a4e8dcdffd11bc5b8e287e7633f2 Mon Sep 17 00:00:00 2001 From: Dale Furrow Date: Tue, 20 Sep 2016 15:49:34 -0500 Subject: [PATCH 12/15] use wx for file save --- requirements.txt | 2 ++ scanpdf/scanpdf.py | 33 +++++++++++++++++++-------------- 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/requirements.txt b/requirements.txt index cd550f1..960ea9b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,3 @@ docopt>=0.6.1 +wx>=3.0.0.0 + diff --git a/scanpdf/scanpdf.py b/scanpdf/scanpdf.py index 770b79c..9a73eaf 100644 --- a/scanpdf/scanpdf.py +++ b/scanpdf/scanpdf.py @@ -37,18 +37,20 @@ import glob import logging +import multiprocessing import os import re import shutil import subprocess import sys -import tkFileDialog import time -import docopt -import multiprocessing +import wx from multiprocessing.dummy import Pool as Threadpool +import docopt + from version import __version__ + date_format = '%m/%d/%Y %H:%M:%S' @@ -73,7 +75,6 @@ def process(self): if self.page is not None and self.scanpdf.post_process: self.run_postprocess() - def run_deskew(self): deskew = os.path.dirname(os.path.realpath(__file__)) + os.path.sep + 'deskew64' logging.info("Deskewing: " + os.path.basename(self.page)) @@ -298,14 +299,19 @@ def run_text_recognize(self, pdf_file): shutil.move(ocr_file, pdf_file) @staticmethod - def file_save(source_file): - f = tkFileDialog.asksaveasfile(mode='w', defaultextension=".pdf") - if f is None: # asksaveasfile return `None` if dialog closed with "cancel". - return - target_path = f.name - f.close() - os.remove(target_path) - shutil.move(source_file, target_path) + def save_file(source_file): + path = None + _ = wx.App(redirect=True) + wildcard = "PDF Files (*.pdf)|*.pdf|" \ + "All files (*.*)|*.*" + + dialog = wx.FileDialog(None, "Choose a file", os.path.expanduser("~"), "", wildcard, wx.SAVE) + if dialog.ShowModal() == wx.ID_OK: + path = dialog.GetPath() + + dialog.Destroy() + logging.info("Saving from Dialog: " + path) + shutil.move(source_file, path) def run_convert(self, text_recognize): os.chdir(self.tmp_dir) @@ -334,7 +340,7 @@ def run_convert(self, text_recognize): shutil.move(pdf_basename, self.pdf_filename) else: source_file = os.path.join(self.tmp_dir, pdf_basename) - self.file_save(source_file) + self.save_file(source_file) for filename in self.pages + [ps_filename]: os.remove(filename) @@ -432,7 +438,6 @@ def go(self, argv): def main(): - os.environ["SCANBD_DEVICE"] = 'net:localhost:fujitsu:ScanSnap S1500:1448' args = docopt.docopt(__doc__, version='Scan PDF %s' % __version__) script = ScanPdf() print args From e37ed65bef901f6a13ce29cbaf7312b9460de278 Mon Sep 17 00:00:00 2001 From: Dale Furrow Date: Wed, 21 Sep 2016 10:30:37 -0500 Subject: [PATCH 13/15] Added device to options --- requirements.txt | 2 +- scanpdf/scanpdf.py | 12 ++++++++++-- test/checkscanpdf.py | 3 ++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/requirements.txt b/requirements.txt index 960ea9b..23725bd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ docopt>=0.6.1 -wx>=3.0.0.0 +wx>=3.0.2.0 diff --git a/scanpdf/scanpdf.py b/scanpdf/scanpdf.py index 9a73eaf..58006b7 100644 --- a/scanpdf/scanpdf.py +++ b/scanpdf/scanpdf.py @@ -24,6 +24,7 @@ -v --verbose Verbose logging -d --debug Debug logging --dpi= DPI to scan in [default: 300] + --device= Scanning device (sub '%' for spaces) --crop Run ImageMagick cropping routine --tmpdir= Temporary directory --keep-tmpdir Whether to keep the tmp dir after scanning or not [default: False] @@ -200,6 +201,7 @@ class ScanPdf(object): cwd = None tmp_dir = None args = None + device = None pdf_filename = None dpi = None keep_blanks = None @@ -231,10 +233,11 @@ def cmd(self, cmd_list): self._error("Could not run command %s" % cmd_list) def run_scan(self): - device = os.environ['SCANBD_DEVICE'] + if self.device is None: + self._error("Scanning device is undefined!") self.cmd('logger -t "scanbd: " "Begin of scan "') c = ['scanadf', - '-d "%s"' % device, + '-d "%s"' % self.device, '--source "ADF Duplex"', '--mode Color', '--resolution %sdpi' % self.dpi, @@ -376,6 +379,11 @@ def get_options(self, argv): self.tmp_dir = os.path.join('/tmp', output_dir) self.tmp_dir = os.path.abspath(self.tmp_dir) + if argv['--device']: + self.device = argv['--device'].replace('%', ' ') # Replace % with spaces to comply with docopt + else: + self.device = os.environ.get('SCANBD_DEVICE') + # Make the tmp dir only if we're scanning, o/w throw an error if argv['scan']: if os.path.exists(self.tmp_dir): diff --git a/test/checkscanpdf.py b/test/checkscanpdf.py index b590164..d6beee6 100644 --- a/test/checkscanpdf.py +++ b/test/checkscanpdf.py @@ -15,7 +15,8 @@ def main(): os.remove(full_path) os.environ["SCANBD_DEVICE"] = 'net:localhost:fujitsu:ScanSnap S1500:1448' args = {'scan': True, 'pdf': True, '': full_path, - '--verbose': True, '--debug': True, '--dpi': 300, '--crop': False, '--tmpdir': False, + '--verbose': True, '--debug': True, '--device': "net:localhost:fujitsu:ScanSnap S1500:1448", + '--dpi': 300, '--crop': False, '--tmpdir': False, '--keep-blanks': False, '--blank-threshold': 0.80, '--text-recognize': False, '--face-up': False, '--keep-tmpdir': False, '--post-process': False} script = scanpdf.ScanPdf() From 853a47b3df9220f0ed98f9b091b3087c92513078 Mon Sep 17 00:00:00 2001 From: Dale Furrow Date: Wed, 21 Sep 2016 10:51:39 -0500 Subject: [PATCH 14/15] changed docopt options to simply leave off --- scanpdf/scanpdf.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/scanpdf/scanpdf.py b/scanpdf/scanpdf.py index 58006b7..828d88d 100644 --- a/scanpdf/scanpdf.py +++ b/scanpdf/scanpdf.py @@ -17,7 +17,9 @@ Usage: scanpdf [options] scan scanpdf [options] pdf - scanpdf [options] scan pdf + scanpdf [options] scan pdf + scanpdf [options] pdf + scanpdf [options] scan pdf Options: @@ -366,11 +368,11 @@ def get_options(self, argv): if argv['--debug']: logging.basicConfig(level=logging.DEBUG, format='%(message)s') if self.args['pdf']: - if self.args[''] != 'None': + if self.args['']: self.pdf_filename = os.path.abspath(self.args['']) logging.info('saving to file: ' + self.pdf_filename) else: - logging.info(' is \"None\", saving file via dialog...') + logging.info('saving file via dialog after processing...') self.dpi = self.args['--dpi'] output_dir = time.strftime('%Y%m%d_%H%M%S', time.localtime()) if argv['--tmpdir']: @@ -379,13 +381,12 @@ def get_options(self, argv): self.tmp_dir = os.path.join('/tmp', output_dir) self.tmp_dir = os.path.abspath(self.tmp_dir) - if argv['--device']: - self.device = argv['--device'].replace('%', ' ') # Replace % with spaces to comply with docopt - else: - self.device = os.environ.get('SCANBD_DEVICE') - - # Make the tmp dir only if we're scanning, o/w throw an error + # Make the tmp dir only if we're scanning, o/w throw an error, also get device if argv['scan']: + if argv['--device']: + self.device = argv['--device'].replace('%', ' ') # Replace % with spaces to comply with docopt + else: + self.device = os.environ.get('SCANBD_DEVICE') if os.path.exists(self.tmp_dir): self._error("Temporary output directory %s already exists!" % self.tmp_dir) else: From c7966e7afbed64d0c5420a26e4d9f8bb2be135f8 Mon Sep 17 00:00:00 2001 From: Dale Furrow Date: Thu, 22 Sep 2016 13:54:34 -0500 Subject: [PATCH 15/15] documentation changes, put version to 0.4.0 --- AUTHORS.rst | 2 +- CHANGES.rst | 1 + README.rst | 26 ++++++++--- TODO.rst | 2 +- scanpdf.egg-info/PKG-INFO | 30 +++++++++--- scanpdf.egg-info/requires.txt | 3 +- scanpdf/scanpdf.py | 87 +++++++++++++++++++++++++++++++++-- scanpdf/version.py | 2 +- test/checkscanpdf.py | 9 +++- 9 files changed, 139 insertions(+), 23 deletions(-) diff --git a/AUTHORS.rst b/AUTHORS.rst index c64eeff..8422d16 100644 --- a/AUTHORS.rst +++ b/AUTHORS.rst @@ -10,4 +10,4 @@ Development Lead Contributors ------------ -None yet. Why not be the first? \ No newline at end of file +* Dale Furrow \ No newline at end of file diff --git a/CHANGES.rst b/CHANGES.rst index ecceb3b..eb4c776 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -2,6 +2,7 @@ Version Date Changes ------- -------- ------ +v0.4.0 9/22/16 Add deskew, text-recognition, gui-dialog for save, multithreading v0.3.0 8/25/14 Allow arbitrary page sizes and auto-crops v0.1.0 1/1/14 First release ======= ======== ====== diff --git a/README.rst b/README.rst index 1981e25..87d31e4 100644 --- a/README.rst +++ b/README.rst @@ -27,7 +27,9 @@ Features * `Integrates with ScanBd `_ to respond to hardware button presses * Automatically removes blank pages. * Scans in color, and automatically down-converts into 1-bit B/W image for text/greyscale images -* Auto-crops to the proper page size. +* (optionally) Auto-crops to the proper page size. +* (optionally) applyies unpaper formatting to finished images +* (optionally) applies pdf-sandwich text-recognition to finished pdf Usage: ------ @@ -37,6 +39,10 @@ The simplest way to use this is: scanpdf scan pdf + Or alternatively + + scanpdf scan pdf (To bring up a file-save dialog to direct the finished pdf file.) + This will first perform the scan, and then the conversion to PDF. If you want to split up the scan and the PDF conversion into two separate invocations (for reasons clarified below), then you can do: @@ -64,15 +70,19 @@ additional post-processing using unpaper_: :: --dpi= DPI to scan in [default: 300] + --device= Scanning device (sub '%' for spaces) + --crop Run ImageMagick cropping routine + --tmpdir= Temporary directory + --keep-tmpdir Whether to keep the tmp dir after scanning or not [default: False] --face-up= Face-up scanning [default: True] --keep-blanks Don't check for and remove blank pages - --blank-threshold= Percentage of white to be marked as blank [default: 0.97] - --post-process Run unpaper to deskew/clean up - + --blank-threshold= Percentage of white to be marked as blank [default: 0.97] + --post-process Process finished images with unpaper + --text-recognize Run pdfsandwich for text recognition -Right now, I'm assuming this is getting called via ScanBD, so I don't have the option to manually specify the -scanner. If you really want to use this standalone, for now, please just set the ``SCANBD_DEVICE`` environment -variable to your scanner device name before running this script. +Right now, I'm assuming this is getting called via ScanBD, so I don't have the option to manually specify the +scanner. If you really want to use this standalone, for now, either set the --device option or just set the + ``SCANBD_DEVICE`` environment variable to your scanner device name before running this script. Installation @@ -87,6 +97,8 @@ Requires ImageMagick and SANE to be installed, for the command line tools: * ``identify`` * ``ps2pdf`` * ``scanadf`` +* ``unpaper`` +* ``pdfsandwich`` Also requires epstopdf. diff --git a/TODO.rst b/TODO.rst index 4ad1d1c..3450a1f 100644 --- a/TODO.rst +++ b/TODO.rst @@ -2,5 +2,5 @@ Todo list ========= - Make it more generic in terms of stand-alone usage -- Add docstrings +- Consider changing default blank-threshold value diff --git a/scanpdf.egg-info/PKG-INFO b/scanpdf.egg-info/PKG-INFO index 1ca6e47..c9ac244 100644 --- a/scanpdf.egg-info/PKG-INFO +++ b/scanpdf.egg-info/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 1.0 Name: scanpdf -Version: 0.3.0 +Version: 0.4.0 Summary: Utility to use SANE/scanadf to scan to PDF Home-page: UNKNOWN Author: Virantha N. Ekanayake @@ -35,6 +35,9 @@ Description: Scan PDF - Easy scans in Linux with a document scanner like the Fuj * `Integrates with ScanBd `_ to respond to hardware button presses * Automatically removes blank pages. * Scans in color, and automatically down-converts into 1-bit B/W image for text/greyscale images + * deskews images + * (optionally) applyies unpaper formatting to finished images + * (optionally) applies pdf-sandwich text-recognition to finished pdf Usage: ------ @@ -43,6 +46,12 @@ Description: Scan PDF - Easy scans in Linux with a document scanner like the Fuj :: scanpdf scan pdf + + Or alternatively + + scanpdf scan pdf + + To bring up a file-save dialog to direct the finished pdf file. This will first perform the scan, and then the conversion to PDF. If you want to split up the scan and the PDF conversion into two separate invocations (for @@ -70,16 +79,21 @@ Description: Scan PDF - Easy scans in Linux with a document scanner like the Fuj :: - --dpi= DPI to scan in [default: 300] + ---dpi= DPI to scan in [default: 300] + --device= Scanning device (sub '%' for spaces) + --crop Run ImageMagick cropping routine + --tmpdir= Temporary directory + --keep-tmpdir Whether to keep the tmp dir after scanning or not [default: False] --face-up= Face-up scanning [default: True] --keep-blanks Don't check for and remove blank pages - --blank-threshold= Percentage of white to be marked as blank [default: 0.97] - --post-process Run unpaper to deskew/clean up + --blank-threshold= Percentage of white to be marked as blank [default: 0.97] + --post-process Process finished images with unpaper + --text-recognize Run pdfsandwich for text recognition Right now, I'm assuming this is getting called via ScanBD, so I don't have the option to manually specify the - scanner. If you really want to use this standalone, for now, please just set the ``SCANBD_DEVICE`` environment - variable to your scanner device name before running this script. + scanner. If you really want to use this standalone, for now, either set the --device option or just set the + ``SCANBD_DEVICE`` environment variable to your scanner device name before running this script. Installation @@ -88,12 +102,14 @@ Description: Scan PDF - Easy scans in Linux with a document scanner like the Fuj $ pip install scanpdf - Requires ImageMagick and SANE to be installed, for the command line tools: + Requires ImageMagick, SANE, unpaper and pdfsandwich to be installed, for the command line tools: * ``convert`` * ``identify`` * ``ps2pdf`` * ``scanadf`` + * ``unpaper`` + * ``pdfsandwich`` Also requires epstopdf. diff --git a/scanpdf.egg-info/requires.txt b/scanpdf.egg-info/requires.txt index 7920c79..cc1d939 100644 --- a/scanpdf.egg-info/requires.txt +++ b/scanpdf.egg-info/requires.txt @@ -1 +1,2 @@ -docopt>=0.6.1 \ No newline at end of file +docopt>=0.6.1 +wx>=3.0.2.0 \ No newline at end of file diff --git a/scanpdf/scanpdf.py b/scanpdf/scanpdf.py index 828d88d..254f29b 100644 --- a/scanpdf/scanpdf.py +++ b/scanpdf/scanpdf.py @@ -58,6 +58,11 @@ class ProcessPage: + """Process page applies methods to a single PPM Image + Attributes: + page (str): Filename of image + scanpdf (ScanPdf): ScanPDF object which instantiated the ProcessPage + """ page = None scanpdf = None @@ -69,6 +74,10 @@ def __init__(self, page, scanpdf): os.chdir(self.scanpdf.tmp_dir) def process(self): + """ + Apply all processing in accordance with selcted options + :return: None + """ self.run_deskew() if self.scanpdf.crop: self.run_crop() @@ -79,6 +88,11 @@ def process(self): self.run_postprocess() def run_deskew(self): + """ + Deskew image using Marke Mauder Deskew + https://bitbucket.org/galfar/app-deskew + :return: None + """ deskew = os.path.dirname(os.path.realpath(__file__)) + os.path.sep + 'deskew64' logging.info("Deskewing: " + os.path.basename(self.page)) ppm_page = '%s.ppm' % self.page @@ -89,6 +103,10 @@ def run_deskew(self): self.page = ppm_page def run_crop(self): + """ + Apply standard cropping routine from ImageMagick + :return: + """ logging.info("Cropping: " + os.path.basename(self.page)) crop_page = '%s.crop' % self.page c = ['convert', '-fuzz 20%', '-trim', self.page, crop_page] @@ -107,11 +125,19 @@ def run_postprocess(self): self.page = processed_page def convert_to_bw(self): + """ + Check if color exists, convert to black-white if not + :return: None + """ logging.info("Checking if: " + os.path.basename(self.page) + " is bw...") if not self._is_color(): self._page_to_bw() def _page_to_bw(self): + """ + Apply ImageMagick Black-White Conversion + :return: None + """ bw_page = "%s_bw" % self.page c = "convert %s +dither -colors 2 -colorspace gray -normalize %s_bw" % (self.page, self.page) self.scanpdf.cmd(c) @@ -121,11 +147,20 @@ def _page_to_bw(self): @staticmethod def run(args): + """ + Static run method for ProcessPage + :param args: page (string pagename), ScanPdf tuple + :return: name of final processed page + """ process_page = ProcessPage(args[0], args[1]) process_page.process() return process_page.page def remove_blank(self): + """ + Check if page is blank: if so, remove + :return: None + """ logging.info("Checking if: " + os.path.basename(self.page) + " is blank") if self.is_blank(): os.remove(self.page) @@ -133,6 +168,8 @@ def remove_blank(self): def is_blank(self): """ + Check if page blank by comparing stdev from ImageMagick 'Identify' + to threshold (1 - blank_threshold) :return: true if image is blank """ if not os.path.exists(self.page): @@ -164,6 +201,7 @@ def _is_color(self): 442906: (254,254,254,255) #FEFEFE srgba(254,254,254,1) 1053: ( 0, 0, 0,255) #000000 black 484081: (255,255,255,255) #FFFFFF white + :return: true if image color exists """ c = "convert %s -colors 8 -depth 8 -format %%c histogram:info:-" % self.page out = self.scanpdf.cmd(c) @@ -199,6 +237,21 @@ def _is_color(self): class ScanPdf(object): + """ + Controls Scan and PDF functions + Attributes: + pages (list): list of page filenames + cwd (str): Current Working Directory + tmp_dir(str): name of temporary directory for original and processed images + args (dict): command line arguments received from docopt + device (str): scanning device name recongized by scanadf + pdf_filename (str): path/name for pdf output + dpi (int): resolution for scanned image (dots per inch) + keep_blanks (bool): Whether to keep blank images + crop (bool): Whether to crop images + post-process (bool): Whether to apply unpaper post-processing + text_recognize (bool): Whether to apply pdf-sandwich post processing + """ pages = None cwd = None tmp_dir = None @@ -211,10 +264,6 @@ class ScanPdf(object): crop = None post_process = None text_recognize = None - """ - The main class. Performs the following functions: - - """ def __init__(self): """ @@ -223,6 +272,11 @@ def __init__(self): self.cwd = os.getcwd() def cmd(self, cmd_list): + """ + Run command in operating system + :param cmd_list: list of commands + :return: os outpout of command + """ if isinstance(cmd_list, list): cmd_list = ' '.join(cmd_list) logging.debug("Running cmd: %s" % cmd_list) @@ -235,6 +289,10 @@ def cmd(self, cmd_list): self._error("Could not run command %s" % cmd_list) def run_scan(self): + """ + Scan documents from device + :return: None + """ if self.device is None: self._error("Scanning device is undefined!") self.cmd('logger -t "scanbd: " "Begin of scan "') @@ -255,6 +313,11 @@ def run_scan(self): @staticmethod def _error(msg): + """ + print error and exit + :param msg: error message + :return: None + """ print("ERROR: %s" % msg) sys.exit(-1) @@ -296,6 +359,11 @@ def reorder_face_up(self): # return False def run_text_recognize(self, pdf_file): + """ + run text recognition + :param pdf_file: pdf filename (in temporary directory) + :return: + """ c = ['pdfsandwich', '-coo', '\"-deskew 40%\"', pdf_file] self.cmd(c) filename, file_extension = os.path.splitext(pdf_file) @@ -305,6 +373,11 @@ def run_text_recognize(self, pdf_file): @staticmethod def save_file(source_file): + """ + Run dialog to save file to user-defined name/folder + :param source_file: pdf file in temporary directory + :return: None + """ path = None _ = wx.App(redirect=True) wildcard = "PDF Files (*.pdf)|*.pdf|" \ @@ -319,6 +392,12 @@ def save_file(source_file): shutil.move(source_file, path) def run_convert(self, text_recognize): + """ + convert images to pdf file, run text recongnition (if desired), + save to directory (pre-defined or user-defined) + :param text_recognize: boolean on whether to apply text recognition + :return: None + """ os.chdir(self.tmp_dir) if self.pdf_filename is not None: pdf_basename = os.path.basename(self.pdf_filename) diff --git a/scanpdf/version.py b/scanpdf/version.py index 260c070..6a9beea 100644 --- a/scanpdf/version.py +++ b/scanpdf/version.py @@ -1 +1 @@ -__version__ = "0.3.1" +__version__ = "0.4.0" diff --git a/test/checkscanpdf.py b/test/checkscanpdf.py index d6beee6..d43a558 100644 --- a/test/checkscanpdf.py +++ b/test/checkscanpdf.py @@ -5,11 +5,18 @@ import os from scanpdf import scanpdf -OUTPUT_DIRECTORY = "/home/dale/Temp" +OUTPUT_DIRECTORY = "~/Temp" FILENAME = "image_test.pdf" +def ensure_dir(f): + d = os.path.dirname(f) + if not os.path.exists(d): + os.makedirs(d) + + def main(): + ensure_dir(OUTPUT_DIRECTORY) full_path = os.path.join(OUTPUT_DIRECTORY, FILENAME) if os.path.exists(full_path): os.remove(full_path)