Problem beim Drucken. Wer kann helfen



  • Hallo zusammen,
    ich habe mich eben in diesem Forum angemeldet in der Hoffnung hier Hilfe zu bekommen. Um meine Arbeit zu erleichtern habe ich mir von einem Kumpel ein Programm in Qt Programmieren lassen. Jetzt sind wir allerdings soweit das wir bei einem Druckproblem stehen geblieben sind wo er selbst beim besten willen einfach nicht weiter kommt. Ich brauche eure Hilfe dazu? Wer kann helfen?

    Ok was seht ihr? Auf der linken Seite ist ein Protokoll aufgeführt. Nach einem doppelklick wird das Protokoll auf der rechten Seite angezeigt. Beim drucken erscheint das Protokoll als DIN A5. Genau hier liegt das Problem, das protokoll wird komprimiert.

    Ich würde mich und Lösungsvorschläge sehr freuen.

    Maurice

    PS: Der Kumpel der mir das Programm geschrieben hat, hat eine Art Test geschrieben wo diesen Problem dargestellt wird. Wenn das hilft lade ich das auch nochmal hoch. Ich selbst kann überhaupt nicht Programmieren.



  • Ok was seht ihr?

    Nix





  • Was für eine Zeitverschwendung, dir zu antworten. Warum stellst du die Frage, und nicht derjenige, der programmieren kann? Wo ist der Code? Warum sollte jemand irgendwas raten?



  • Hallo Mechanics,
    sorry das ich antworte als der Programmierer. Leider ist aktuell sein Modem ausgefallen so das er aktuell von zu Hause nicht ins Netz kommt.
    Ich hatte gehofft egal wer eine frage stellt das man mir hilft. Ich hoffe die Hilfe kommt noch da es mir sehr wichtig ist.

    Im Leben heißt geben und nehmen, wenn ich gebe kann dann tue ich das. Nun suche ich hier nach einer hilfe Stellung.

    #include "mainwindow.h"
    #include "ui_mainwindow.h"

    MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
    {
    ui->setupUi(this);
    }

    MainWindow::~MainWindow()
    {
    delete ui;
    }

    void MainWindow::on_pushButton_clicked()
    {
    QString fileName = QFileDialog::getOpenFileName(this, "Öffnen", "", "PDF (*.pdf)");
    qDebug() << fileName;
    QUrl viewer = QUrl::fromLocalFile(QFileInfo("pdfjs/web/viewer.html").absoluteFilePath());
    this->ui->webView->load(viewer.url() + "?file=../../"+fileName.split("/").last()+"");
    }

    void MainWindow::on_pushButton_2_clicked()
    {
    QPrinter printer(QPrinter::HighResolution);
    printer.setFullPage(true);
    //printer.setOrientation(QPrinter::Portrait);
    printer.setPaperSize(QPrinter::A4);

    QPrintDialog* pd = new QPrintDialog(&printer, this);
    if(pd->exec() == QDialog::Accepted) {
    //this->ui->webView->page()->mainFrame()->evaluateJavaScript("window.print();");
    this->ui->webView->print(&printer);
    }
    }



  • Ok, einen offensichtlichen Fehler seh ich grad nicht... D.h., es wird alles richtig gedruckt, ist aber zu klein?



  • Genau so ist das. Da Blatt komprimiert sich. Es gibt eine Option im Programm da kann ich normal ausdrucken. Da erscheint das Blatt in DIN A4. Aber bei dieser gibt es in DIN A 5 raus.



  • - Funktioniert das mit anderen Seiten? Vor allem, wie schaut es aus, wenn ihr eine normale HTML Seite ausdruckt, kein PDF über einen JS Viewer?
    - Versucht es mal mit dem QPrintPreviewDialog. Der zeigt eine Vorschau an und da kann man den Drucker einrichten. Wenn das funktioniert, dann initialisiert er noch etwas anders und da kann man mal reindebuggen.



  • Im Programm selber habe ich eine HTML Vorlage. Wenn ich auf eine Zeile gehe wo Daten enthalten sind um dann ein Protokoll zu generieren dann zeigt er mir das komplette Protokoll auf eine DIN A4 Seite an. Genau diese kann ich dann im Programm selbst ausdrucken ohne Probleme. So meinte ich das. Ich hoffe wir reden nicht einander vorbei. Wenn du magst würde ich dir das gerne mal demonstrieren.

    Wenn du Skype und Teamviewer hast würde ich dir das gerne mal zeigen.

    Ich habe deinen Vorschlag via Telegramm an den Kumpel weitergegeben.



  • Das ist nicht ansatzweise interessant genug, als dass sich das hier jemand per Teamviewer anschauen wollen würde. Außerdem seh ich wie gesagt keinen offensichtlichen Fehler. Ich kann höchstens paar grundsätzliche Tipps geben, die mir so einfallen.

    Der Code, den du gepostet hast, lässt PDF Dateien auswählen und zeigt sie wohl über den pdf.js Viewer in einer QWebView an. Ich bin bei so viel JS Code einfach etwas skeptisch, ob das so funktioniert. Deswegen der Vorschlag, genau den gleichen Code einfach mit einer "einfachen" HTML Seite zu probieren.



  • Alles klar. Ich gebe dein letzten Posts nochmal so weiter. Danke für deine Hilfe. Wenn es klappt dann werde ich es hier melden.

    Danke.



  • So, die Lösung für das Problem wurde gefunden. Mit dem Adobe Reader und der richtigen Zuordnung geht jetzt auch das Drucken so wie ich es gerne haben möchte.

    Das pdf.js wurde meines wissen weg gelassen.


Anmelden zum Antworten