On Feb 25, 2006, at 3:14 AM, Oliver Taylor wrote:
I'm working on a bundle command (see below) that converts a plain- text document (screenplay) to a PHP file for conversion to PDF via FPDF (http://www.fpdf.org). Everything is working just fine except for two things I just can't figure out--for the record, this code was given to me by Allen for an HTML conversion and I've repurposed it for this.
The first problem I'm having is with the very last line of code. The idea is to get safari to open the generated document in Safari and process it as a web-page. Because $DST seems to output the file- path I can't just have it open "http://localhost/example.php", which is what I want. How do I do that? Is it in the manual, 'cause I missed that part.
You don't need to use a webserver to run PHP. It comes with a standalone command line app, rightfully called "php". It will take stdin, output to stdout, and do all these things you cannot do in a web server / client browser scenario.
ben
The second question is regarding the 19th line of code:
$this->Cell(5.5,.18," XXXX ",0,0,'L',0);
I want to know if there is a way to define the "XXXX" bit in the document itself with something like:
$header = example
How would that be done?
Thanks in advance, you guys are really helping make this bundle kick butt.
# first figure out a name for the result NAME="${TM_FILENAME:-untitled}" BASENAME="${NAME%.*}" DST="/Library/WebServer/Documents/$BASENAME"
# everything we output within { … } is written to the PHP file via redirection (see line with the }) { # first output PHP header cat <<HEAD
<?php require("fpdf/fpdf.php"); class PDF extends FPDF { //Page header function Header() { //Move to the right \$this->Cell(5.5,.18," XXXX ",0,0,'L',0); //Title \$this->Cell(.5,.18,\$this->PageNo(),0,2,'R',0); \$this->ln(.32); } } \$pdf=new PDF("P","in","Letter"); \$pdf->SetMargins(1.5,.5,1); \$pdf->AddPage(); \$pdf->SetFont("Courier","",12); HEAD # then PHP body (converted from document) perl -pe ' s/"/\\"/g; #escape quotes s/\/\/(.*)\/\/|^\/\/(.*)//g; # strip out non-printing comments s/^(\t{4})([^\t].*)$/\$pdf->Cell(2);\$pdf->MultiCell(0,.18,"$2", 0,L,0);/g; #characters s/^(\t{3})([^\t].*)$/\$pdf->Cell(1.5);\$pdf->MultiCell (1.5,.18,"$2",0,L,0);/g; #parenthetical s/^(\t{2})([^\t].*)$/\$pdf->Cell(1);\$pdf->MultiCell(3.5,.18,"$2", 0,L,0);\$pdf->ln();/g; #dialogue s/(\t{10})([^\t].*:)/\$pdf->Cell(4);\$pdf->MultiCell(2,.18,"$2");\ $pdf->ln();/g; #right-transitions s/^\w+.{2,20}:\s*$/\$pdf->MultiCell(0,.18,"$&",0,L,0);\$pdf->ln();/ g; #left-transitions s/^(\w|\.|\[|\-).*$/\$pdf->MultiCell(0,.18,"$&",0,L,0);\$pdf->ln ();/g; #paragraph ' # and finally PHP footer cat <<'TAIL' $pdf->Output(); ?>
TAIL } >"$DST.php"
# open the generated PHP file in Safari open -a Safari "$DST.php" ______________________________________________________________________ For new threads USE THIS: textmate@lists.macromates.com (threading gets destroyed and the universe will collapse if you don't) http://lists.macromates.com/mailman/listinfo/textmate