Forum » Pomoč in nasveti » program za pomoč pri tiskanju 200+pdf dokumentov
program za pomoč pri tiskanju 200+pdf dokumentov
borisk ::
Zdravo!
Srečujem se s problemom, kako sprintat 200+ dokumentov. problem ni v tem da ne moreš naenkrat dat natisnih več kot 15 dokumnetov na enkrat ker sem to v registru rešil, problem je ker je v mapi 500 pdfjev, od katerih bi želel sprintati 200 kom ki jih imam na seznamu v exelu.
Da bi pohitril proces, iščem program, ki bi mi presortiral načrte v dve mapi ali pa da bi program zral sprintat datoteke ki jih imam na seznamu? kakšnen predlog?
lp, boris
Srečujem se s problemom, kako sprintat 200+ dokumentov. problem ni v tem da ne moreš naenkrat dat natisnih več kot 15 dokumnetov na enkrat ker sem to v registru rešil, problem je ker je v mapi 500 pdfjev, od katerih bi želel sprintati 200 kom ki jih imam na seznamu v exelu.
Da bi pohitril proces, iščem program, ki bi mi presortiral načrte v dve mapi ali pa da bi program zral sprintat datoteke ki jih imam na seznamu? kakšnen predlog?
lp, boris
imagodei ::
Takisto prvi zadetek na googlu: https://stackoverflow.com/questions/367...
- Hoc est qui sumus -
Isotropic ::
združi jih (combine), če imaš kakšen program za to (oz. sam sprogramiraj s kakšnim API) in daj printat vse skupaj.
Zgodovina sprememb…
- spremenil: Isotropic ()
borisk ::
nism programer, mi je jasno kako bi izgledal algoritem, ne vem pa kako to sptravit v en BAT spravit da bo to delal
BAT mora narediti:
ustvarit novo mapo v mapi, v kateri bo ta bat zagnan z imenom
za vsako datoteko preverit, če je njeno ime na seznamu "seznam za print.txt" ali "seznam za print.xls"
če je "print"
če ne poglej nasledno.
@ISO in bellzmet, Lahko označim vse in sprintam, potem pa imam 200 listov preveč in jih moram a roke ven sortirat... se mi pa zadeva ponavlja, in gre vedno po enakem principu...
BAT mora narediti:
ustvarit novo mapo v mapi, v kateri bo ta bat zagnan z imenom
za vsako datoteko preverit, če je njeno ime na seznamu "seznam za print.txt" ali "seznam za print.xls"
če je "print"
če ne poglej nasledno.
@ISO in bellzmet, Lahko označim vse in sprintam, potem pa imam 200 listov preveč in jih moram a roke ven sortirat... se mi pa zadeva ponavlja, in gre vedno po enakem principu...
mzakelj ::
https://www.naps2.com/
Samo namečeš not pdf-e , in shraniš kot enega in daš print. Enostavno in preverjeno.
Samo namečeš not pdf-e , in shraniš kot enega in daš print. Enostavno in preverjeno.
borisk ::
ja, bom očitno poklical programerja in mu pojasnil
@žakelj ni si prebral prvega sporočila? ni mi problem sprintat 500pdfjev z dvema klikoma, problem je v mapi kjer je 1000pdfjev sprintat 200 pdfjev, katere imam v elektronskem sezmanu. poimenovani so pa v stilu 300-xxxxx do 300-yyyyy.
@žakelj ni si prebral prvega sporočila? ni mi problem sprintat 500pdfjev z dvema klikoma, problem je v mapi kjer je 1000pdfjev sprintat 200 pdfjev, katere imam v elektronskem sezmanu. poimenovani so pa v stilu 300-xxxxx do 300-yyyyy.
imagodei ::
Isotropic ti je tud dal dober nasvet. Mislim, da ti PDF Creator (PDF Architect) omogoča združevanje obstoječih PDF-jev v enega. Pač poklikaš, kaj naj združi in to daš printat kot en ogromen PDF dokument.
- Hoc est qui sumus -
Randomness ::
Tole shrani v kopiraj.bat datoteko. V seznam.txt pa daj spisek datotek, ki jih želiš naprintati. Skripta kopiraj.bat bo vse datoteke, ki so hkrati na seznamu in v trenutni mapi, skopirala v podmapo natisni. Uporaba na lastno odgovornost! (Imej backup datotek)
Edit: MOVE zamenjal s COPY
@ECHO OFF IF NOT EXIST natisni\NUL ( MKDIR natisni ) FOR /F %%G IN (seznam.txt) DO ( IF EXIST %%G ( @COPY %%G natisni > NUL ) )
Edit: MOVE zamenjal s COPY
Zgodovina sprememb…
- spremenilo: Randomness ()
GupeM ::
Randomness je izjavil:
Tole shrani v premakni.bat datoteko. V seznam.txt pa daj spisek datotek, ki jih želiš naprintati. Skripta premakni.bat bo vse datoteke iz trenutne mape premaknila v podmapo natisni. Uporaba na lastno odgovornost! (Imej backup datotek)
@ECHO OFF
IF NOT EXIST natisni\NUL (
MKDIR natisni
)
FOR /F %%G IN (seznam.txt) DO (
IF EXIST %%G (
@MOVE %%G natisni > NUL
)
)
Mogoče bi bil copy bolj varen, kot move. Na koncu pa lahko izprazniš direktorij natisni, če je problem plac na disku. Poleg tega imaš ob ponovni uporabi vedno prazno mapo na disku, tako da nimaš problemov s starimi fajli, ki niso za sprintat ali pa imajo enako ime.
borisk ::
hvala za usmeritev, sem probal in ugotovil da moram preverjati samo prvih devet znakov v imenu datotek, saj imam na seznamu v stilu x00-xxxxx dejansko pa imam datoteke x00-xxxxx.idw.pdf
sedaj gledam po temle vodiču in še nisem našel komande za to ampak še enkrat hvala
http://steve-jansen.github.io/guides/wi...
lp, Boris
sedaj gledam po temle vodiču in še nisem našel komande za to ampak še enkrat hvala
http://steve-jansen.github.io/guides/wi...
lp, Boris
Randomness ::
@ECHO OFF SETLOCAL ENABLEDELAYEDEXPANSION IF NOT EXIST natisni\NUL ( MKDIR natisni ) FOR /F %%G IN (seznam.txt) DO ( SET datoteka="%%G.idw.pdf" IF EXIST !datoteka! ( @COPY !datoteka! natisni > NUL ) ELSE ( ECHO Datoteka !datoteka! manjka ) )
Zgodovina sprememb…
- spremenilo: Randomness ()
bobby ::
Ali brez scripte.
Nastavis default printer
V gonilniku nastavis, da se tiska enostransko, cb, barni, obojestransko,... In skranis kot default settings
Potem pa izberes pdf-e, jih markitas in desni klik, dropdown menu, print
Aja, sorry, mali narobe sem prebral OP post. Odstopam od predloga :)
Nastavis default printer
V gonilniku nastavis, da se tiska enostransko, cb, barni, obojestransko,... In skranis kot default settings
Potem pa izberes pdf-e, jih markitas in desni klik, dropdown menu, print
Aja, sorry, mali narobe sem prebral OP post. Odstopam od predloga :)
Ce eksplicitno ne odgovorim osebam PNG ali PR,..I dont care about your opinion.
Zgodovina sprememb…
- spremenil: bobby ()
_Denny_ ::
Napol ročni način z manj kot 5 min dela, če ti ni uspelo s skriptami:
1. Skopiraj vse pdf-je v drugo mapo
2. V Excelu odpri nov spreadsheet in:
- v stolpca B in D skopiraj obstoječ seznam 200 pdf-jev
- v stolpec A s pomočjo autofilla 200x rename
- v stolpec C s pomočjo autofilla 200x xyz oz. drugo kombinacijo, ki se ne pojavlja v imenih pdf-jev
3. Rezultat, ki izgleda podobno temu shrani kot csv (ignoriraj tečnarjenje Excela, da je xlsx boljši)
4. Csv file odpri v Notepadu in:
- Edit -> Replace -> Find what: xyz; Replace with: _ -> Replace All (rezultat)
- Edit -> Replace -> Find what: ; Replace with: presledek -> Replace All (rezultat)
5. Zadevo shrani, ji spremeni končnico iz csv v bat, jo premakni v mapo s skopiranimi pdf-ji in zaženi
Potem samo mapo sortiraš po imenu in tistih 200 pdf-jev bo na vrhu.
1. Skopiraj vse pdf-je v drugo mapo
2. V Excelu odpri nov spreadsheet in:
- v stolpca B in D skopiraj obstoječ seznam 200 pdf-jev
- v stolpec A s pomočjo autofilla 200x rename
- v stolpec C s pomočjo autofilla 200x xyz oz. drugo kombinacijo, ki se ne pojavlja v imenih pdf-jev
3. Rezultat, ki izgleda podobno temu shrani kot csv (ignoriraj tečnarjenje Excela, da je xlsx boljši)
4. Csv file odpri v Notepadu in:
- Edit -> Replace -> Find what: xyz; Replace with: _ -> Replace All (rezultat)
- Edit -> Replace -> Find what: ; Replace with: presledek -> Replace All (rezultat)
5. Zadevo shrani, ji spremeni končnico iz csv v bat, jo premakni v mapo s skopiranimi pdf-ji in zaženi
Potem samo mapo sortiraš po imenu in tistih 200 pdf-jev bo na vrhu.
Asrock X670E Taichi, Ryzen 9 7950X3D + NH-D14, 96GB Corsair DDR5-6400 CL32
RTX 2070S 8GB, 2TB Kingston KC3000, 2TB ADATA SX8200 Pro, 4TB Micron 5200
Seasonic Focus Plus 850W, Corsair Air 540, Logitech Z-2300, Samsung UE65H6400
RTX 2070S 8GB, 2TB Kingston KC3000, 2TB ADATA SX8200 Pro, 4TB Micron 5200
Seasonic Focus Plus 850W, Corsair Air 540, Logitech Z-2300, Samsung UE65H6400
HotBurek ::
Sem si rekel, da naredim sample v Pythonu 3.5, po možnosti one-liner. In je uspelo. Vključno z uporabo podpičji na koncu stavkov.
Tako, da če gre namesto BAT namestit Python interpreter, lahko spodnjo skripto uporabiš za kopiranje pdf-jev v drug folder.
- filter.txt morajo biti imena fajlov (100-12345), vsak v svoji vrstici
- lengthindex je za preverjanje prvih x znakov imena
Tako, da če gre namesto BAT namestit Python interpreter, lahko spodnjo skripto uporabiš za kopiranje pdf-jev v drug folder.
- filter.txt morajo biti imena fajlov (100-12345), vsak v svoji vrstici
- lengthindex je za preverjanje prvih x znakov imena
#!/usr/bin/python3.5 # import import os; import time; import shutil; import traceback; # path pdfdir = "/home/user1/Documents/pdf"; pdfout = "/home/user1/Documents/pdf/out"; txtfile = "/home/user1/Documents/pdf/filter.txt"; # lengthindex i.e string[0:x] to comapre to filename lengthindex = 9; # delay delaybig = 1; # delay big delaysmall = 0.2; # delay small # write txtfile input to output showtxtfilter = True; # counter counttxt = 0; countfiles =0; countcopy = 0; # define color string clr_darkgray = "\033[90m"; clr_red = "\033[91m"; clr_green = "\033[92m"; clr_yellow = "\033[93m"; clr_blue = "\033[94m"; clr_magenta = "\033[95m"; clr_azure = "\033[96m"; clr_lightgray = "\033[97m"; clr_eoc = "\033[0m"; try: print(""); print(clr_yellow + "Hello my master." + clr_eoc); print(clr_blue + "This is fakin PDF printer super mage tripple duper 99.999 version." + clr_eoc) print(clr_red + "Let's check if dirs and filter file exist..." + clr_eoc); print(""); time.sleep(delaybig); pd = False; pu = False; tf = False; if not os.path.exists(pdfdir): print(clr_magenta + "Path " + str(pdfdir) + " does not exist." + clr_eoc); else: pd = True; if not os.path.exists(pdfout): print(clr_magenta + "Path " + str(pdfout) + " does not exist."+ clr_eoc); else: pu = True; if not os.path.exists(txtfile): print(clr_magenta + "File " + str(txtfile) + " does not exist." + clr_eoc); else: tf = True; if pd and pu and tf: print(clr_yellow + "Looks all good" + clr_eoc); print(clr_green + "Let's continue ..." + clr_eoc); print(""); movepdfs = []; file = open(txtfile); for item in file.read().split("\n"): if len(item) > 0: movepdfs.append(item); counttxt = int(counttxt) + 1; file.close(); if showtxtfilter: print(clr_blue + "List of file names to search for:" + clr_eoc); for movepdf in movepdfs: print(clr_green + str(movepdf) + clr_eoc); time.sleep(delaysmall); print(""); for item in os.listdir(pdfdir): if os.path.isfile(pdfdir + "/" + item): countfiles = int(countfiles) + 1; for movepdf in movepdfs: if movepdf == item[0:lengthindex]: print("This " + clr_green + str(movepdf) + clr_eoc + " match to " + clr_blue + str(item) + clr_eoc); print(" Copy " + clr_yellow + str(item) + clr_eoc); shutil.copy(pdfdir + "/" + item, pdfout + "/" + item); countcopy = int(countcopy) + 1; print(""); time.sleep(delaybig); print(clr_green + "How about some counters, eh?" + clr_eoc); print(""); print(clr_azure + "." + clr_eoc); print(clr_azure + ". ." + clr_eoc); print(clr_azure + ". . ." + clr_eoc); print(""); print(clr_azure + "counttxt=" + clr_eoc + clr_green + str(counttxt) + clr_eoc); print(clr_azure + "countfiles=" + clr_eoc + clr_blue + str(countfiles) + clr_eoc); print(clr_azure + "countcopy=" + clr_eoc + clr_magenta + str(countcopy) + clr_eoc); print(""); print(clr_azure + ". . ." + clr_eoc); print(clr_azure + ". ." + clr_eoc); print(clr_azure + "." + clr_eoc); print(""); print(clr_azure + "That's it. Gut luck with printing..." + clr_eoc); print(""); else: print(clr_azure + "Nope, something isn't okey" + clr_eoc); except Exception as exc: error = traceback.format_exc(); print(error);
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
Zgodovina sprememb…
- spremenil: bluefish ()
borisk ::
Randomness je izjavil:
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
IF NOT EXIST natisni\NUL (
MKDIR natisni
)
FOR /F %%G IN (seznam.txt) DO (
SET datoteka="%%G.idw.pdf"
IF EXIST !datoteka! (
@COPY !datoteka! natisni > NUL
) ELSE (
ECHO Datoteka !datoteka! manjka
)
)
Zdravo!
Zadeva deluje, večina je že sprintana, res pa se čez vikend nisem oglasil.
sem pa opazil da imam nekaj nekaj datotek z revizijo, kar pomeni da imajo ime 000-00000.idw_x.pdf med tem ko imajo ostali tako kot je bilo zgoraj in na njih je delovalo.
lahko v tvojo kodo vstavil nekaj kar v tisti maski za ime vsebuje možen wildcard (če sem prav razumel je v widovs skriptah to vprašaj?
SET datoteka="%%G.idw??.pdf"
Randomness ::
@ECHO OFF SETLOCAL ENABLEDELAYEDEXPANSION IF NOT EXIST natisni\NUL ( MKDIR natisni ) FOR /F %%G IN (seznam.txt) DO ( SET pattern="%%G.idw??.pdf" SET /A count=0 FOR /F %%F IN ('DIR /B !pattern! 2^> NUL') DO ( @COPY %%F natisni > NUL SET /A count+=1 ) IF !count! EQU 0 ( @ECHO Nobena datoteka ne ustreza vzorcu !pattern! ) ) ENDLOCAL
Zgodovina sprememb…
- spremenilo: Randomness ()
Randomness ::
Še malo drugače:
@ECHO OFF SETLOCAL ENABLEDELAYEDEXPANSION IF NOT EXIST natisni\NUL ( MKDIR natisni ) FOR /F %%G IN (seznam.txt) DO ( SET pattern="%%G.idw??.pdf" FOR /F %%I IN ('DIR /B !pattern! 2^> NUL ^| FIND /C "."') DO SET count=%%I IF !count! GTR 0 ( COPY !pattern! natisni > NUL ) ELSE ( @ECHO Nobena datoteka ne ustreza vzorcu !pattern! ) ) ENDLOCAL
borisk ::
Hvala, Randomness
zadeva deluje!!
Lahko še kdo kaj priporoča glede gradiva glede BAT skript.
zadeva deluje!!
Lahko še kdo kaj priporoča glede gradiva glede BAT skript.
imagodei ::
Hm, zakaj bi človek uporabljal BAT/CMD skripto dolžine 20 vrstic, če lahko namesto tega uporabi Python skripto v dolžini 140 vrstic
- Hoc est qui sumus -
HotBurek ::
Deset lajner :)
#!/usr/bin/python3.5 import os; import shutil; path = "/home/user1/Documents/pdf"; if not os.path.exists(path + "/out"): os.makedirs(path + "/out"); for object in os.listdir(path): if os.path.isfile(path + "/" + object): file = open(path + "/filter.txt", "r"); for searchterm in file.read().split("\n"): if searchterm == object[0:9] and len(searchterm) > 0: shutil.copy(path + "/" + object, path + "/out"); print(str(object)); break; file.close();
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | batch skripta požene prevečkratOddelek: Programiranje | 2059 (894) | krneki0001 |
» | Fake traffic generatorOddelek: Omrežja in internet | 2270 (1466) | HotBurek |
» | [Win Batch] Skripta za ustvarjanje datotekeOddelek: Programiranje | 1119 (923) | sas084 |
» | batch fajl iz txt (strani: 1 2 )Oddelek: Programiranje | 9774 (8435) | b3D_950 |
» | Znakovni LCD zaslonOddelek: Elektrotehnika in elektronika | 3416 (2177) | roli |