eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingwydruk pliku PDF w Visual Studio › wydruk pliku PDF w Visual Studio
  • From: "Wiesław Szahun" <a...@a...com.pl>
    Newsgroups: pl.comp.programming
    Subject: wydruk pliku PDF w Visual Studio
    Date: Sun, 05 Jul 2009 09:07:41 +0200
    Message-ID: <2...@n...home.net.pl>
    MIME-Version: 1.0
    Content-Type: text/plain; charset="iso-8859-2"
    Content-Transfer-Encoding: 8bit
    X-Mailer: home.pl my.webmail
    X-Priority: 3
    X-NNTP-Posting-Host: c169-120.icpnet.pl
    NNTP-Posting-Host: 62.129.252.51
    X-Trace: news.home.net.pl 1246777661 62.129.252.51 (5 Jul 2009 09:07:41 +0200)
    Organization: home.pl news server
    Lines: 45
    X-Authenticated-User: artows@home
    Path: news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!news.home.net
    .pl!not-for-mail
    Xref: news-archive.icm.edu.pl pl.comp.programming:182550
    [ ukryj 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: