Seite 1 von 1
PS Datei ausdrucken (NICHT in PS Datei speichern)
Verfasst: 20. April 2007 11:15
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.
Verfasst: 20. April 2007 20:41
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...
Verfasst: 20. April 2007 21:09
von upsala
Warum ps und nicht pdf und gibt es da keinen passenden Druckertreiber unter Windoof, der das für dich erledigen könnte?
Verfasst: 20. April 2007 22:06
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....
Verfasst: 22. April 2007 16:51
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;
}
Verfasst: 14. Mai 2007 13:38
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
Verfasst: 14. Mai 2007 15:41
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....
Verfasst: 14. Mai 2007 16:43
von oprocopio
super
wahrscheinlich werde ich also mtprint (MiKTeX) verwenden um auf windows auszudrucken. auf linux direkt via cups oder lpr.
Verfasst: 14. Mai 2007 23:48
von patrik08
oprocopio hat geschrieben:super
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..