-
Data: 2009-07-05 07:07:41
Temat: wydruk pliku PDF w Visual Studio
Od: "Wiesław Szahun" <a...@a...com.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Witam
Mam taki problem. Muszę wydrukować automatycznie (bez pytania o drukarkę,
itp) kilka plików PDF na przemian z ReportViewerem, tj.:
plik PDF1, ReportViewer, plik PDF2, ReportViewer, itd.
Samo wydrukowanie ReportViewera czy PDF-a nie sparawia problemu. Problem
pojawia się, gdy obie procedury połącze w jedno.
W przypadku ReportViewera, wiem dokładnie kiedy wydruk się zaczął i
zakończył. W przypadku PDFa nie wiem kiedy dotarł do spoolera drukarki, aby
móc aktywować następny wydruk. Ustawienie zwłoki nie wile daje, no chyba że
byłoby to kilkanaście skeund, ale wówczas przy wydruku kilkunastu dokumntów
trwa to strasznie długo.
Do wydruku PDF-a w necie znalazłem dwa rozwiązania:
1. AcroPDFLib z AcroPDF.dll - ale tego nie udało mi się uruchomić (jeśli
ktoś ma kawałek chodzącego kodu, to chętnie skorzystam),
2. wykorzystując System.Diagnostics.Process i uruchamiając wydruk poprzez
AcrobatReader.
punkt 2. działa, z małym minusem, bo aktywuje okno procesu ArobatReadar
uruchomionego w trakcie startu systemu, ale można je zminimalizować i po
problemie (nie zamykać, bo znowu wyskoczy).
Z tego co zauważłem, to wywołanie acrobat readera, nawet w sposób
bezpośredni (StartInfo.ExecuteShell=false; StartInfo.FileName = <ścieżka do
AcroRd32.exe> praktycznie momentalnie się kończy, bo prces realizacji
wydruku jest zlecany innemu porcesowi, a ten który wywołałem się kończy,
więc otrzymuję informację że mogę drukować nastęny dokument, choć w
rzeczywiśtości wydruk wogóle się jeszcze nie rozpoczął. Efekt, wydruk
wygląda nastęująco: ReportViewer1, reportViewer2(rep2), Rep3, PDF1, rep4,
rep5, PDF2, rep6, itd. przy czym obserwuję losową ilość wydruków
reportViewera pomiędzy poszczególnymi PDF (średnio od 2 do 4)
Próbowałem też wydruku poprzez załadowanie pliku PDf do WebBrowsera, i
uruchomienie funkcji wydruku WebBrowsera, ale o ile działa to dla Html, to
nie działa dla PDF, pewnie trzeba byłoby się odwołać do kontrolki OCX, bo
to ona w rzeczywostości wyświetla PDF, ale nie wiem jak.
A teraz pytanka:
1. Czy ktoś wiem, jak kontrolować proces wydruku AcrobatReadera.
2. Jak ewentulanie kontrolować wydruk WebBrowsera, jeśli zawartość
wyświetlana jest przez kontrolki.
3. jka mozna ewentualnie w inny sposób wydrukować plik PDF
ps. projekt mam w C#, ale żaden problem jeśli rozwiązanie byłoby w C++ lub
VB, ważne aby dało się zaimplementować w Visual Studio 2008.
pozdrwiam
z góry dzięki za wszelką pomoc
Wiesław Szahun
Następne wpisy z tego wątku
- 05.07.09 08:01 Michoo
- 06.07.09 11:55 Wiesław Szahun
Najnowsze wątki z tej grupy
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-05-26 O co chodzi?
- 2024-05-26 PJ autobus-tramwaj
- 2024-05-26 Renault Trafic i lampka z czerwonym STOP
- 2024-05-26 cena pięciocyfrowa
- 2024-05-26 Re: Jak dobra KE "okrada" złą Rosję "dla Ukrainy"
- 2024-05-25 supercap
- 2024-05-25 Sulzbach => Technischer Rollouter (d/m/w) <=
- 2024-05-25 Warszawa => Senior Account Manager <=
- 2024-05-25 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-25 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-25 Warszawa => Interactive/Experience Designer <=
- 2024-05-25 Warszawa => Key Account Manager <=
- 2024-05-25 Warszawa => SAP WM Consultant / Execution <=
- 2024-05-25 Warszawa => Key Account Manager <=
- 2024-05-25 Re: znów ten wrocław