Powershell - tisk na formát A3

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod Paznecht241 23. 1. 2020 15:10

Dobrý den, potřeboval bych poradit se scriptem v Powershell. Na lokálním disku mám složku, do které nasypu PDF dokumenty, které potřebuju vytisknout. Dokumenty mají naštěstí předem danou strukturu, takže je jednodušší je ze složky poslat rovnou na tiskárnu. Mám ale problém, protože mám dokumenty jak na formát A4 (který mám v tiskárně nastaven na výchozí formát) a taky dokumenty ve formátu A3. Pro tisk mám pak napsaný script:

Start-Process -FilePath "D:\tisk\*_KO-*.pdf" -Verb Print -PassThru | %{sleep 5;$_} | kill

Může mi prosím někdo poradit, jak bude vypadat příkaz pro tisk dokumentu *_TISK*.PDF, který je ve formátu A3?
Zkoušel jsem to pomocí Set-PrintConfiguration, ale to mi nefunguje.

Set-PrintConfiguration -PrinterName "Conica Minolta C280" -PaperSize A3
Start-Process -FilePath "D:\tisk\*_TISK*.pdf" -Verb Print -PassThru | %{sleep 5;$_} | kill

Děkuji za pomoc.
Paznecht241
Kolemjdoucí

Odeslat příspěvekod Just_jo 23. 1. 2020 15:53

Někde se zmiňovalo, že toto nefunguje na Win 7
Just_jo
Junior
Uživatelský avatar

Odeslat příspěvekod Paznecht241 24. 1. 2020 06:27

Just_jo píše:Někde se zmiňovalo, že toto nefunguje na Win 7


Vím, je možné, že to byl můj příspěvek, protože to řeším už asi 3 roky :-) Měl jsem W7 a v těch v PS nebyl CMD let Set-PrintConfiguration. Teď, když mám W10, to chci konečně vyřešit.
Paznecht241
Kolemjdoucí

Odeslat příspěvekod Just_jo 24. 1. 2020 17:42

Teď jsem si odzkoušel v chrome tisk webu a nastavil jsem si formát A3 - ale tiskárnu mám jen na A4, takže se mi to celé zmenšilo na A4.

Jaký je tvůj cíl? Vše tisknout na nějaký papír? Nebo zvolit správný zásobník?
Just_jo
Junior
Uživatelský avatar

Odeslat příspěvekod Paznecht241 3. 2. 2020 07:01

Potřebuji vytisknout celou dokumentaci najednou. Jedná se o 1xA4 v PDF, 1xA4 v PDF, 2xA 4v PDF, 2xA3 v PDF, 2xA3 v PDF a TXT soubor (ten má 1 až x stran). Takto vypadá script, který používám teď s tím, že A3 musím otevřít každý zvlášť a ručně jej poslat na tiskárnu.

Start-Process -FilePath "D:\tisk\*_KO-*.pdf" -Verb Print -PassThru | %{sleep 5;$_} | kill
Start-Process -FilePath "D:\tisk\*SPEFA*.pdf" -Verb Print -PassThru | %{sleep 5;$_} | kill
Start-Process -FilePath "D:\tisk\*TZ*.pdf" -Verb Print -PassThru | %{sleep 5;$_} | kill
Start-Process -FilePath "D:\tisk\*TZ*.pdf" -Verb Print -PassThru | %{sleep 5;$_} | kill
Start-Process -FilePath "D:\tisk\*DSPSg_SS.txt" -Verb Print -PassThru | %{sleep 5;$_} | kill
Start-Process -FilePath "D:\tisk\*DSPSg_SS.txt" -Verb Print -PassThru | %{sleep 5;$_} | kill

To, že tam mám řádky 2x znamená, že tento dokument potřebuji vytisknout 2x. Každé PDF se mi otevře v Adobe Acrobat Reader DC.
Paznecht241
Kolemjdoucí

Odeslat příspěvekod Just_jo 3. 2. 2020 19:26

Asi poslední co by se dalo zkusit je toto
Kód: Vybrat vše
$PrintConfiguration = Get-PrintConfiguration -PrinterName "Conica Minolta C280"
$PrintConfiguration.paperSize = A4
Set-PrintConfiguration -InputObject $PrintConfiguration
Start-Process ...
Just_jo
Junior
Uživatelský avatar

Odeslat příspěvekod Paznecht241 5. 2. 2020 14:15

Zkusil jsem doplnit Vaši část kódu abych vyzkoušel jeho funkčnost.

Kód: Vybrat vše
$PrintConfiguration = Get-PrintConfiguration -PrinterName "KONICA MINOLTA C280"
$PrintConfiguration.paperSize = A3
Set-PrintConfiguration -InputObject $PrintConfiguration
Start-Process -FilePath "D:\tisk\*TISK1*.pdf" -Verb Print -PassThru | %{sleep 5;$_} | kill


Spuštění scriptu však skončilo chybou.

Kód: Vybrat vše
A3 : The term 'A3' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, veri
fy that the path is correct and try again.
At line:2 char:33
+ $PrintConfiguration.paperSize = A3
+                                 ~~
    + CategoryInfo          : ObjectNotFound: (A3:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException


Dojde sice k tisku, ale pořád jenom na formát A4 landscape. V čem může být problém?

Toho samého výsledku dosáhnu tímto scriptem:
Kód: Vybrat vše
Set-PrintConfiguration -PrinterName "KONICA MINOLTA C280" -PaperSize A3
Start-Process -FilePath "D:\tisk\*TISK1*.pdf" -Verb Print -PassThru | %{sleep 5;$_} | kill
Paznecht241
Kolemjdoucí

Odeslat příspěvekod Just_jo 5. 2. 2020 17:25

Chybu jsem eliminoval, když jsem v problémovém řádku doplnil uvozovky
Kód: Vybrat vše
$PrintConfiguration.paperSize = "A3"


Bohužel tu nemám tiskárnu na A3, takže s tímto asi už více nepomůžu.
Opravdu si rozumíme, že se má tisknout VŠE na A3? Nebo aby se dokument vytiskl ve stejném formátu jako je nastaven ( aby netiskl dokument s A3 na papír A4 ) - to by totiž teoreticky šlo v nastavení tiskárny - aby se použil odpovídající zásobník.
Just_jo
Junior
Uživatelský avatar

Odeslat příspěvekod Paznecht241 6. 2. 2020 06:45

Nejsem si jistý, jestli si rozumíme. Část dokumentů je ve formátu A4 a je potřeba je vytisknout na A4, jen výkresy *TISK1*.PDF a *TISK2*.PDF jsou ve formátu A3 a mají se vytisknout na A3. Když to tisknu "ručně", tak musím v Acrobat Reader DC změnit zásobník tiskárny.
Paznecht241
Kolemjdoucí


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků