1 van 1

extern bestand afdrukken op geautomatiseerde wijze

Geplaatst: wo 14 okt 2015, 09:22
door In physics I trust
Hey,
 
Ik zit met de volgende problematiek: ik zou graag een klein programma schrijven om in batch bestanden af te drukken van een bepaald type. Normale manier hiervoor is om gebruik te maken van de zogeheten 'verbs': 'print, 'printto', maar die zijn voor het betreffende programma (MathCad) niet geïmplementeerd.
 
Mijn tweede ingeving bestond erin om via de command line met 'mathcad.exe -p' te werken, maar net zoals bij het command 'print' kan je hier geen argument meegeven om de paginanummers mee te geven die je wenst te printen.
 
Nu lijkt het me dat je op een bepaalde manier toch het interne print dialog venster moet kunnen aanroepen dat gebruikt wordt om (een geselecteerd aantal) pagina's af te drukken?
 
Iemand een idee hoe?
 
Bedankt!

Re: extern bestand afdrukken op geautomatiseerde wijze

Geplaatst: wo 14 okt 2015, 15:35
door Xenion
Kan je in batch pdf's genereren?
Dan kan je via system commands die files proberen af te drukken. In Python zou dat er als volgt uitzien:

Code: Selecteer alles

import os
... # maak lijst_van_files aan met os.listdir ofzo
for file in lijst_van_files: 
    os.system("print printernaam " + file)

Re: extern bestand afdrukken op geautomatiseerde wijze

Geplaatst: wo 14 okt 2015, 16:14
door In physics I trust
Neen, niet uit MathCad. De enige manier om daar bestanden uit te halen, is manueel. Via 'mathcad.exe -p' kan ik wel de volledige documenten in pdf krijgen.

De moeilijkheid zit hem er net in om de gewenste pagina's uit dat document af te kunnen drukken.
 
Side note: de printer is eigenlijk een virtuele printer (FinePrint) waarbij de bestanden worden verzameld en kunnen herschikt worden.

Re: extern bestand afdrukken op geautomatiseerde wijze

Geplaatst: wo 14 okt 2015, 17:04
door Xenion
Ik zou eerst gewoon de volledige pdf als temp file opvragen en die dan manipuleren met een library als pdfsplit
 
Ik ken zelf MathCad niet dus ik kan je geen shortcut aanbevelen :p