carlmcdade
Member
Hello,
I have been fighting with this for days now. It seems that though PPML is a standard nothing about it is standard. I am writing PPML file by hand to be used on a website. The trouble is the transformation matrix does not seem to allow for rotating the text to a 90 degree standing/vertical position. There seems to be a limit on how far you can pivot. Not only that using the matrix seems to scale the text as it is being rotated.
I had hopes of being able to write a PHP or Java front-end to plugin the right numbers to the PPML but the matrix does not behave in any manner I have ever seen before. Here's the code. If you use PODI's CheckPPML you can see what is happening.
(BTW, I tried to use InDesign and SmartStream to do this but SmartStreams PPML export uses external data and PDFs. I need internal data and plain text. Posting a seperate thread on this.)
I have been fighting with this for days now. It seems that though PPML is a standard nothing about it is standard. I am writing PPML file by hand to be used on a website. The trouble is the transformation matrix does not seem to allow for rotating the text to a 90 degree standing/vertical position. There seems to be a limit on how far you can pivot. Not only that using the matrix seems to scale the text as it is being rotated.
I had hopes of being able to write a PHP or Java front-end to plugin the right numbers to the PPML but the matrix does not behave in any manner I have ever seen before. Here's the code. If you use PODI's CheckPPML you can see what is happening.
(BTW, I tried to use InDesign and SmartStream to do this but SmartStreams PPML export uses external data and PDFs. I need internal data and plain text. Posting a seperate thread on this.)
Code:
<?xml version="1.0" encoding="utf-8"?>
<PPML xmlns="urn://www.podi.org/ppml/ppml2" Version="2.2">
<PAGE_DESIGN TrimBox="0 0 595 842" />
<JOB>
<DOCUMENT>
<PAGE>
<MARK Position="100 100">
<OBJECT Position="0 0">
<SOURCE Dimensions="200 50" Format="application/postscript">
<INTERNAL_DATA>
0 0 moveto
/Times-Roman findfont
24 scalefont
setfont
0 setgray
(Hello world!) show
</INTERNAL_DATA>
</SOURCE>
<VIEW>
<TRANSFORM Matrix="2 0 0 2 -50 -100"/>
</VIEW>
</OBJECT>
</MARK>
<MARK Position="150 125">
<OBJECT Position="0 0">
<SOURCE Dimensions="200 50" Format="application/postscript">
<INTERNAL_DATA>
0 0 moveto
/Times-Roman findfont
24 scalefont
setfont
0 setgray
(mins 5 line!) show
</INTERNAL_DATA>
</SOURCE>
<VIEW>
<TRANSFORM Matrix="0.5 0 0 0.5 50 100"/>
</VIEW>
</OBJECT>
</MARK>
<MARK Position="100 225">
<OBJECT Position="0 0">
<SOURCE Dimensions="200 50" Format="application/postscript">
<INTERNAL_DATA>
0 0 moveto
/Times-Roman findfont
24 scalefont
setfont
0 setgray
(second line!) show
</INTERNAL_DATA>
</SOURCE>
<VIEW>
<TRANSFORM Matrix="1 10.75 -10.75 1 100 -100"/>
</VIEW>
</OBJECT>
</MARK>
<MARK Position="100 250">
<OBJECT Position="0 0">
<SOURCE Dimensions="200 70" Format="application/postscript">
<INTERNAL_DATA>
0 0 moveto
/Times-Roman findfont
24 scalefont
setfont
0 setgray
(perseus line!) show
</INTERNAL_DATA>
</SOURCE>
<VIEW>
<TRANSFORM Matrix="1 1 -1 1 0 0"/>
</VIEW>
</OBJECT>
</MARK>
<MARK Position="100 300">
<OBJECT Position="0 0">
<SOURCE Dimensions="200 70" Format="application/postscript">
<INTERNAL_DATA>
0 0 moveto
/Times-Roman findfont
24 scalefont
setfont
0 setgray
(hercules line!) show
</INTERNAL_DATA>
</SOURCE>
<VIEW>
<TRANSFORM Matrix="1 .2 -.2 1 0 0"/>
</VIEW>
</OBJECT>
</MARK>
<MARK Position="100 400">
<OBJECT Position="0 0">
<SOURCE Dimensions="200 50" Format="application/postscript">
<INTERNAL_DATA>
0 0 moveto
/Times-Roman findfont
24 scalefont
setfont
0 setgray
(third line!) show
</INTERNAL_DATA>
</SOURCE>
<VIEW>
<TRANSFORM Matrix="4 0 0 1 0 0"/>
</VIEW>
</OBJECT>
</MARK>
<MARK Position="100 500">
<OBJECT Position="0 0">
<SOURCE Dimensions="200 50" Format="application/postscript">
<INTERNAL_DATA>
0 0 moveto
/Times-Roman findfont
24 scalefont
setfont
0 setgray
(forth line!) show
</INTERNAL_DATA>
</SOURCE>
<VIEW>
<TRANSFORM Matrix=".5 0 0 1 0 0"/>
</VIEW>
</OBJECT>
</MARK>
</PAGE>
</DOCUMENT>
</JOB>
</PPML>
Last edited: