use CGI qw(:standard);use strict;
print header(-type => 'text/html'),"\n<!-- code by nick fankhauser -->
<html><head><title>Katalog Layouter</title></head><body><center>\n";
my $datei=param("datei");
if ($datei) {prozess($datei)} else {&upform}
print "</center></body></html>\n";
sub prozess {
my $datei=shift;my $ddir="katdat";
my $id=1;while (-r "$ddir/job$id.txt") {$id++};
my $ofn="job$id.txt";
my $sz=param("start");
open(O,">$ddir/$ofn") or die;
while(read $datei,my $data,1024) {print O $data}
close O;my $bs=$ofn;
my $fn="$ddir/$ofn";$ofn="$fn.tex";my $cnt=1;
open(F,$fn) or die;open(O,">$ofn") or die;
print O '\documentclass[10pt,a4paper,twocolumn,oneside]{scrbook}
\usepackage[latin1]{inputenc}
\usepackage{german}
\usepackage{times}
\usepackage{a4wide}
\usepackage{float}
\usepackage[left=1cm,right=1cm,top=2cm,bottom=2cm,footskip=5mm]{geometry}
\setlength{\columnsep}{20pt}
\setlength{\intextsep}{1pt}
\begin{document}
\setcounter{page}{',$sz,"}\n\n";
my $bc=chr(11);my $hc1=chr(0xB0);
while (<F>) {
s/\&/\\\&/g;s/\$/\\\$/g;s/%/\\%/g;s/\#/\\\#/g;s/_/\\_/g;
s/\s\"/ \\glqq /g;s/\"\s/\\grqq \\ /g;s/\"/\\grqq /g;
s/$bc//g;s/$hc1//g;s/\[//g;s/\]//g;
if (/>(.+?)>;>(.+?)>;(\d+);(\d+);>(.*?)>/) {
print O "\\begin{table}[H]
\\textbf{$cnt $1}\\\\\n$2
\\textless$3\\textgreater
\\vspace{-2mm}
\\begin{flushright} \\textbf{sFr. $4.00} \\end{flushright} \n";
if ($5) {
print O "\\vspace{-2mm}
\\small $5 \\normalsize \\\\ \\vspace{-1mm}\n";
}
print O "\\end{table}\n\n";$cnt++;
}
}
$cnt--;print O "\\end{document}\n";close O;close F;
print "<p>$cnt Bücher verarbeitet. Startseitenzahl: $sz</p>\n";
if ($cnt) {
system("cd katdat && pdflatex $bs >/dev/null");
my $c="cp $fn.pdf /var/www/tmp";system($c);
print "<h2><a href=/tmp/$bs.pdf>PDF-Datei</a></h2>\n";
}
}
sub upform {
print "<p><h3>Bitte nur exportierte Text-Dateien in dieser Form raufladen:<br>
\"Autor\";\"Bibliographie\";Nummer;\"Preis\";\"Anmerkung\"</h3>
<form method=post name=fo1 enctype=multipart/form-data>
Datei auswählen: <input type=file size=50 name=datei><p>
Start-Seitenzahl: <select name=start>\n";
for (my $i=1;$i<10;$i++) {print "<option>$i</option>\n"}
print "</select><p><input type=submit value=OK></form><p>Nick Fankhauser, Mai 2005</p>\n";
}