<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
>
<channel>
	<title>pberndt.com: Postscript und PDF für pqiv</title>
	<link>http://www.pberndt.com/_Newsdata/pqiv-pdf-backend.html</link>
	<description>Summary of pqiv-pdf-backend.html</description>
	<pubDate>Sat, 20 Sep 2014 19:50:34 +0000</pubDate>
	<language>de</language>
	<ttl>2880</ttl>
	<item>
	<title>Postscript und PDF für pqiv </title>
	<link>http://www.pberndt.com/_Newsdata/pqiv-pdf-backend.html</link>
	<comments>http://www.pberndt.com/_Newsdata/pqiv-pdf-backend.html</comments>
	<description><![CDATA[ 
		<p>
			<img src="pqiv-scrot.jpg?ct=raw" alt="pqiv 1.0 und 2.0-rc1" class="float" />
			In letzter Zeit habe ich <a href="/Programme/Linux/pqiv/index.html">pqiv</a> mal wieder
			etwas mehr Zeit gewidmet. In meinem wissenschaftlichen Alltag speichere ich Plots
			in aller Regel direkt als Postscript oder PDF Datei, damit ich für die Einbindung
			in ein Paper direkt ideale Qualität habe, ohne doppelte Arbeit zu haben. Nachteil
			dieser Praxis ist, dass es aufwendig ist, schnell durch Serien von Plots zu schauen,
			die z.B. während langer Simulationen regelmäßig zwecks Übersicht weggespeichert
			werden. Da ich in pqiv 2.x ohnehin Cairo zum Zeichnen verwende, ist die
			Einbindung von
			<a href="http://poppler.freedesktop.org/">Poppler</a> extrem simpel:
			<a href="http://people.freedesktop.org/~ajohnson/docs/poppler-glib/PopplerPage.html#poppler-page-render">Das rendert in einer Zeile eine PDF auf eine Cairo Oberfläche</a>. Von daher
			bot es sich an, das mal nachzurüsten.
		</p>
		<p>
			Aufwendiger war es, das <em>schön</em> zu machen. Ich hatte bislang gdk-pixbuf fest
			mit pqiv verdrahtet, weil ich beim Designen nicht davon ausgegangen war, dass ich
			einmal mehr Backends als nur das verwenden will. Diese Verknüpfung ist nun aufgehoben,
			sodass das Nachrüsten von Backends extrem einfach geworden ist. (<a href="https://github.com/phillipberndt/pqiv/blob/master/backends/poppler.c">Der gesamte Poppler Code</a> ist z.B.
			derzeit nur 179 Zeilen inklusive Kommentaren lang.)
		</p>
		<p>
			Ich habe mich für's erste an meinen Bedürfnissen orientiert und neben Poppler nur durch
			<a href="http://www.freedesktop.org/wiki/Software/libspectre/">libspectre</a>
			Postscript-Support eingebaut. Für Spezialanwendungen dürfte aber selbst so etwas wie ein
			gnuplot Backend machbar sein, falls jemand daran interessiert ist ;) Nebenbei kamen
			durch die Umbauten noch besserer BSD-Support, diverse Bugfixes und allgemein bessere
			Stabilität als Gimmick hinzu, denn beim ausgiebigen, inzwischen automatisierten, Testen
			habe ich einige Probleme gefunden &amp; behoben.
		</p>
		<p>
			Wer an den Änderungen interessiert ist, findet
			<a href="https://github.com/phillipberndt/pqiv/commit/eea4f4fcc90ba5f6f1b0bfaeab6efbe2c5ad2f04">hinter dem Merge-Commit</a> noch die Versionsgeschichte
			der Umbauten.
		</p>
		
	 ]]></description>
	<pubDate>Fri, 19 Sep 2014 22:00:00 +0000</pubDate>
	</item>
</channel>
</rss>
