Avatar billede krestenbanke Nybegynder
08. november 2004 - 19:07 Der er 9 kommentarer og
1 løsning

Acrobat Reader

Hejsa!

Jeg printer en pdf vha. klassen:

public PrintPDF(String pFile) {
           
            try {
                Runtime.getRuntime().exec("C:\\Programmer\\Adobe\\Acrobat 6.0\\Reader\\AcroRd32.exe /p"+ pFile);

            }
            catch (IOException e) {
                System.out.println("Fejl i print");
                   
                e.printStackTrace();
            }
           

Problemet er at jeg gerne vil kunne printe to dokumenter efter hinanden. Hvis jeg gør det ved at lave et:
new PrintPDF(filTilPrint);

Så kan Acrobat ikke finde filen når der printes anden gang. Første gang går det fint, og hvis Acrobat lukkes og printes derefter køres virker det også.

Det skal lige siges at filen som printes laves og printes derefter. Anden gang der printes laves filen altså efter at Acrobat er blevet åbnet, så ved ikke om det blot er fordi at mappen som filen ligger i skal opdateres?? I så fald hvordan??

Håber der er een som kan hjælpe!
Avatar billede arne_v Ekspert
08. november 2004 - 19:16 #1
Du kan prøve med /t men lidt gogling siger at den heller ikke virker
med Acrobat Reader 6.

Hvis du er på java 1.4 elle rnyere så var javax.print måske værd at kigge
på. Den kan printe PDF.
Avatar billede krestenbanke Nybegynder
08. november 2004 - 19:24 #2
Har prøvet javax men får fejl med DocFlavor og efter lidt søgning ser det ud til at mange har problemmer med det, og at det langt fra er "bullet proof" løsning.

http://www.jguru.com/faq/view.jsp?EID=959950

Og jep /t virker ikke i 6.0

Andre forslag??
Avatar billede simonvalter Praktikant
08. november 2004 - 20:26 #3
har du prøvet nogen af de andre løsninger i den tråd.. der er jo lidt at vælge imellem.

ellers er der nogen her der har lavet lidt kode som måske klarer det

http://www.planetpdf.com/forumarchive/110542.asp

vælg nogen af de "Previous" sider for at læse det hele.
men det de har lavet er en exe der venter på print jobbet er færdigt hvor efter den terminerer adobe.
Avatar billede krestenbanke Nybegynder
08. november 2004 - 21:21 #4
Har prøvet at se på det, men hvordan dælen bruger de den exe?
har prøvet:
Runtime.getRuntime().exec("pdfprint.exe");
og
Runtime.getRuntime().exec("pdfprint.exe"+minPDF);
Avatar billede simonvalter Praktikant
08. november 2004 - 21:45 #5
koden siger
printf("usage:\t%s [-p printer] [drive:][path]<filename>\n", p);

pdfprint.exe -p \\hostname\printername c:\files\bla.pdf
eller
pdfprint.exe c:\files\bla.pdf
Avatar billede simonvalter Praktikant
08. november 2004 - 21:46 #6
så det er vel
Runtime.getRuntime().exec("pdfprint.exe c:\files\bla.pdf");
Avatar billede krestenbanke Nybegynder
08. november 2004 - 22:29 #7
Yes, der skrives ud og Acrobat lukkes med:

Runtime.getRuntime().exec("pdfprint.exe"+minPDF);

Tror jeg havde kommet til at give kommandoen \p med i den kommentar jeg skrev tidligere.

Det eneste problem nu er at det jo tager en del tid at åbne Acrobat.
Kan man få den til at stå åben, så der stadig kan printes? Eller skal jeg bare håbe på at computerne bliver hurtigere med tiden :D
Avatar billede simonvalter Praktikant
08. november 2004 - 22:47 #8
du kommer nok ikke uden om opstartstiden...men hvis jeg husker rigtigt så kan man disable plugins og gøre den hurtigere.

hvis den skal holdes åben for at printe flere sider så skal du have fat i en anden løsning .. hvis det altså er muligt.
Avatar billede krestenbanke Nybegynder
08. november 2004 - 22:59 #9
Allrighty!

Jeg takker mange gange!

Du kaster bare et svar
Avatar billede simonvalter Praktikant
08. november 2004 - 23:40 #10
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester