[Talk-de] PDF-Export - zusammengeklebte Poster
Rotbarsch
rotb at gmx-topmail.de
Fr Sep 19 07:59:18 UTC 2008
Hallo!
Nur damit der Code nicht verstaubt: Im folgenden Mini-Perl-Script
werden nach Eingabe von Blattanzahl in W-O- und in N-S-Richtung, sowie
einer äußeren Bounding-Box und dem gewünschten Maßstab im Wiki
ablegbare Links auf PDFs erzeugt, die man sich dann alle ausdrucken
und zusammenkleben kann.
Der so erstellte Stadtplan von Essen macht schon viel her und ist
sicherlich auch ein Blickfang für allerlei Veranstaltungen.
Achtung: Es gibt keine Fehlerbehandlung oder Plausibilisierung
(insbesondere bspw. nicht, ob der Maßstab noch angenommen wird.
Ein Beispiel (Essen) kann man auf meiner Wiki-User-Seite anschauen.
> cat show.pl
my ($nrof_sheets_we, $nrof_sheets_sn, $xw, $ys, $xe, $yn, $scale,
$overlap_percentage) = @ARGV;
$x_total_width=$xe-$xw;
$x_sheet_width=$x_total_width/$nrof_sheets_we;
$y_total_width=$yn-$ys;
$y_sheet_width=$y_total_width/$nrof_sheets_sn;
if ($overlap_percentage == 0){$overlap_percentage=5} # Default
$y_overlap=$y_sheet_width*$overlap_percentage/100;
$x_overlap=$x_sheet_width*$overlap_percentage/100;
for ($x=1;$x<=$nrof_sheets_we;$x++) {
for ($y=1;$y<=$nrof_sheets_sn;$y++) {
$cur_xw=$xw+(($x-1)*$x_sheet_width);
$cur_xe=$xw+($x *$x_sheet_width);
$cur_ys=$ys+(($y-1)*$y_sheet_width);
$cur_yn=$ys+($y *$y_sheet_width);
printf ("*
[http://tile.openstreetmap.org/cgi-bin/export?bbox=%.3f,%3.3f,%3.3f,%3.3f&scale=%s&format=pdf
x%dy%d]\n",
$cur_xw-$x_overlap, $cur_ys-$y_overlap,
$cur_xe+$x_overlap, $cur_yn+$y_overlap, $scale, $x, $y);
}
}
P.S.: Das die äußeren Sheets auch einen Kleberand bekommen ist
gewollt, da sie sonst vom Druckertreiber auf einen anderen Maßstab
aufgezogen würden.
Mehr Informationen über die Mailingliste Talk-de