PDF Preview

Alles rund um die Programmierung mit Qt
Antworten
Nassian
Beiträge: 126
Registriert: 20. Juni 2005 21:14

PDF Preview

Beitrag von Nassian »

Hallo,

Ist es mit Qt möglich eine Vorschau (quasi ein Screenshot) eines PDF zu erstellen? Wenn nicht, welche Libraries gibt es dafür, die das können?

SG Alexander
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Beitrag von patrik08 »

Mac hat es eingebaut als druckvorschau.... alles jede datei
du kannst es emulieren mit einem qprocess....
vie es geht http://www.qtforum.de/forum/viewtopic.php?t=2366


wie man eine pdf datei macht.....

Code: Alles auswählen

void Gui_Front::makefilePrintPdf()
{
    int dove = tabWidget->currentIndex();
    
    QString fileName = SaveFile("*.pdf");
    if (fileName.size() > 1) {
        QPrinter printer(QPrinter::HighResolution);
        printer.setOutputFormat(QPrinter::PdfFormat);
            if (!fileName.endsWith(".pdf")) {
                         fileName = fileName+".pdf"; 
            }
        printer.setOutputFileName(fileName);
        if (dove == 0) {
        xml_area->document()->print(&printer);
        } else if (dove == 1) {
        xsl_area->document()->print(&printer);
        } else {
        result_area->document()->print(&printer);
        }   
        QMessageBox::information( this, tr( "File info." ),tr("The pdf file is save.."));
    }
}

xsl_area->document() kann text oder html sein...
Nassian
Beiträge: 126
Registriert: 20. Juni 2005 21:14

Beitrag von Nassian »

Ne, sorry. Ich meinte etwas anderes. Ich habe viele PDF's und möchte neben einer Liste immer ein Vorschaubild in einem QLabel anzeigen. Also ein PDF in ein Bild rendern. Am besten ohne Zwischendatei.

SG Alexander
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Beitrag von patrik08 »

Das kann openoffice 2 machen...
schreibe eine 3 seitige openoffice datei.....
umbenenne diese datei in ....

filename.zip entpacke .... und drinnen findest du ein ordner tumbnail pictures... die voranschau der 3 seite als png....

Also nehme den openoffice code und ( grep -R "expression" * ) und irgenwo findest du den code, und dass wie... ....

Oder auf linux/mac kanst du die pdf nach ps postscript umwandeln ... und dann mit imagemagic nach png ... verkleiner und voila..... die bilder sind da...

auf window musst du zuerst ein postscript hinbekommen .... google... wort enter...
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Qt kann kein pdf anzeigen, nur erzeugen.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

Wenn du sowas willst, müste du vermutlich das PDF erstellen, dann mit ghostscript eine Bilddateo draus machen und anzeigen. Aber ob das den Aufwand lohnt??
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Beitrag von patrik08 »

Eine Vorschau ist sowieso nicht alles genau sichtbar.... also lieber die datei ganze anschauen.... das geht in weniger als eine sekunde...

Code: Alles auswählen


void ClassName::OpenFileAllmime( QString pdf_file )
{
    #if defined(Q_WS_WIN)
    QProcess p;
    QStringList s;
    s << "url.dll,FileProtocolHandler" << pdf_file;
    p.startDetached(QString("rundll32.exe") , s );
    #endif
    #if defined Q_WS_MAC
    QProcess m;
    QStringList macs;
    macs << pdf_file;  
    m.startDetached(QString("open") , macs );
    #endif 
}
pencil
Beiträge: 4
Registriert: 8. August 2008 08:16

Beitrag von pencil »

Und wie muss ich den Code in die Anwendungen einbinden, damit das PDF innerhalb angezeigt wird?
Antworten