PS Datei ausdrucken (NICHT in PS Datei speichern)

Alles rund um die Programmierung mit Qt
Antworten
oprocopio
Beiträge: 32
Registriert: 6. Juni 2005 14:43

PS Datei ausdrucken (NICHT in PS Datei speichern)

Beitrag von oprocopio »

Hallo Zusammen,

Ich habe eine Frage zum Ausdrucken von PS-Files.

Die Reports die ich mit meinem Programm erstelle werden als DVI (Latex) abgelegt.
Diese Files kann ich dann in PS (Postscript) oder PDF umwandeln.

Nun möchte ich aber ein PS-File ausdrucken. Normalerweise erledige ich dass mit
kprinter datei.ps
Da ich aber mein Programm auch ohne KDE und unter Windows betreiben möchte kann ich kprinter nicht benutzen.

Also, wie kann ich PS Files direkt via QT ausdrucken?

Hoffe ihr habt eine Lösung.

Danke, Orlando.
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Beitrag von patrik08 »

auf linux ein qprocess ps convert png .... file.seite1.png file.seite2.png

auf window tote hose...

imagemagick http://www.imagemagick.org/script/index.php

dann der QImage zeigen oder printen....

Wenn ich qtplug-in schreiben koente wuerde ich es wersuchen ....

frage mal http://www.qtcentre.org/forum/f-qt-programming-2.html der amministrator dort ein pole ... der weiss es sicher besser...
.........................
speack português italiano deutsch english castellà qt
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Warum ps und nicht pdf und gibt es da keinen passenden Druckertreiber unter Windoof, der das für dich erledigen könnte?
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Beitrag von patrik08 »

upsala hat geschrieben:Warum ps und nicht pdf und gibt es da keinen passenden Druckertreiber unter Windoof, der das für dich erledigen könnte?

Weil Latex eben PS Postcript file macht.... und PDF ... und wenn ich TEX file schreibe ... mochte ich auch schnell wissen als voranschau was daraus geworden ist .... ohne pdflatex.... MiKTex hat auch ein DVI betrachter ... ob dort drinnen lesbaren code zu finden ist?

Und jedesmal diesen elefant von acroreader zu starten ist zeitverschwendung....

Mit eine voranschau in postcript oder DVI .. koente mann ein messtab einbauen um die punkte zu messen und genau arbeiten....

Da leider QTexedit keine musik noten schreiben kann .... und vieles anderes.....

Ich habe 4 tagen gebraucht um mit latex ein richtiges pdf formular zu machen ... ..... scribus ist dort noch nicht reif fuer formular.... die umlaut kommen ja alle mit schlechten kerning. im scribus... mit latex perfekt....
.........................
speack português italiano deutsch english castellà qt
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Beitrag von patrik08 »

Ich habe gesucht ... also es gibt es

http://cairographics.org/introduction eine lib die kann von viele bilder formate ins ppm convertieren PixmapPortable image die QPixmap lesen kann (ohne irgenwelchen QT .. reines C / C++)

http://poppler.freedesktop.org/ (qt3/qt4) kann nur PS && PDF file direkt zu QPixmap bringen ..... was mann dann printen kann oder painten....(was ich brauche fuer Latex...) http://poppler.freedesktop.org/poppler-0.5.4.tar.gz


alle basieren auf http://www.foolabs.com/xpdf/ jedoch die poppler lib sparen zeit ... da es QT freundlich ist... mit xpdf muss man sich mit eine class GString herum bauen ... und wuergen ... was QT bereits hat mit QString ....

Code: Alles auswählen


#include <iostream>
#include <QtCore/QtCore>
#include <QtGui/QtGui>
#include <ctype.h>

#define UNSTABLE_POPPLER_QT4
#include <poppler-qt4.h>

int main( int argc, char **argv )
{
    QApplication a( argc, argv );               // QApplication required!

    Q_UNUSED( argc );
    Q_UNUSED( argv );

    QTime t;
    t.start();
    QDir dbDir( QString( "./pdfdb" ) );
    if ( !dbDir.exists() ) {
	qWarning() << "Database directory does not exist";
    }

    QStringList excludeSubDirs;
    excludeSubDirs << "000048" << "000607";

    foreach ( QString subdir, dbDir.entryList(QStringList() << "0000*", QDir::Dirs) ) {
	if ( excludeSubDirs.contains(subdir) ) {
	    // then skip it
	} else {
	    QString path = "./pdfdb/" + subdir + "/data.pdf";
	    std::cout <<"Doing " << path.toLatin1().data() << " :";
	    Poppler::Document *doc = Poppler::Document::load( path );
	    if (!doc) {
		qWarning() << "doc not loaded";
	    } else {
		doc->pdfVersion();
		doc->info("Title");
		doc->info("Subject");
		doc->info("Author");
		doc->info("Keywords");
		doc->info("Creator");
		doc->info("Producer");
		doc->date("CreationDate").toString();
		doc->date("ModDate").toString();
		doc->numPages();
		doc->isLinearized();
		doc->isEncrypted();
		doc->okToPrint();
		doc->okToCopy();
		doc->okToChange();
		doc->okToAddNotes();
		doc->pageMode();

		for( int index = 0; index < doc->numPages(); ++index ) {
		    Poppler::Page *page = doc->page( index );
		    QPixmap *pixmap = new QPixmap(page->pageSize());
		    page->renderToPixmap(pixmap);
		    page->pageSize();
		    page->orientation();
		    delete page;
		    std::cout << ".";
		    std::cout.flush();
		}
		std::cout << std::endl;
		delete doc;
	    }
	}
    }

    std::cout << "Elapsed time: " << (t.elapsed()/1000) << std::endl;

}


.........................
speack português italiano deutsch english castellà qt
oprocopio
Beiträge: 32
Registriert: 6. Juni 2005 14:43

Beitrag von oprocopio »

sorry für meine verspätete antwort...war in den ferien...

frage:

funktioniert die "poppler" version auch unter windows??

danke und gruss

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

Beitrag von patrik08 »

oprocopio hat geschrieben:sorry für meine verspätete antwort...war in den ferien...

frage:

funktioniert die "poppler" version auch unter windows??

danke und gruss

orlando
Auf linux super ... auf window habe ich es nicht hinbekommen mit mingw compiler....

Autoconf & Automake ( minimal sys ming )version zu neu oder unpassend fuer diese libs....
gehe einfach in poppler forum auf http://en.wikipedia.org/wiki/Poppler_(software) un frage op er qt pro file schreiben kann ohne autoconf....


aber weltweit sind es vielleicht nur 3 oder 4 personen die diese libs auf window bekommen haben...

eine davon hat ein printscreen ....
http://tsdgeos.blogspot.com/2005/12/pop ... sktop.html

viel spass beim builden....
.........................
speack português italiano deutsch english castellà qt
oprocopio
Beiträge: 32
Registriert: 6. Juni 2005 14:43

Beitrag von oprocopio »

super :lol:

wahrscheinlich werde ich also mtprint (MiKTeX) verwenden um auf windows auszudrucken. auf linux direkt via cups oder lpr.
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Beitrag von patrik08 »

oprocopio hat geschrieben:super :lol:

wahrscheinlich werde ich also mtprint (MiKTeX) verwenden um auf windows auszudrucken. auf linux direkt via cups oder lpr.
fals du linux und window hast suche doch im source von
http://www.scribus.net/ qt3 mit grep
nach import postscript pdf oder import plugin das ding importiert mit ghostscript dann gibt es noch http://www.cs.wisc.edu/~ghost/gsview/index.htm

Aus dem source von http://www.xm1math.net/texmaker/ habe ich mir viele kleine tool geschrieben so wie db zu tex... normale sachen mache ich mit XSL-FO aber wenn es kompliziert ist eben tex..
.........................
speack português italiano deutsch english castellà qt
Antworten