Results 1 to 2 of 2
  1. #1
    carlmcdade is offline Junior Member
    Join Date
    Mar 2011
    Posts
    10

    Default PPML - How do you get vertical text in transform matrix?

    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.)

    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 by carlmcdade; 03-23-2011 at 05:43 AM.

  2. #2
    Edward Tsui is offline Junior Member
    Join Date
    Sep 2007
    Posts
    19

    Default

    hi guy, give you some line for your reference. it is generated by our own software.

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- Create by VariPrint Software -->
    <PPML>
    <PAGE_DESIGN TrimBox="0 0 595 842"/>
    <JOB Label="VariPrint">
    <REUSABLE_OBJECT>
    <OBJECT Position="0 0">
    <SOURCE Dimensions="595 842" Format="application/pdf">
    <EXTERNAL_DATA Src="ppml_template.pdf" SourceUsage="Multiple"/>
    </SOURCE>
    <VIEW/>
    </OBJECT>
    <VIEW/>
    <OCCURRENCE_LIST>
    <OCCURRENCE Name="Template0">
    <VIEW/>
    </OCCURRENCE>
    </OCCURRENCE_LIST>
    </REUSABLE_OBJECT>
    <DOCUMENT Label = "VariPrint" DocumentCopies="1" PageCount="1">
    <PAGE Label = "VariPrint1">
    <MARK Position="0 0">
    <OCCURRENCE_REF Ref="Template0"/>
    </MARK>
    <MARK Position="0 0">
    <VIEW/>
    <OBJECT Position="0 0">
    <SOURCE Dimensions="595 842" Format="application/pdf">
    <EXTERNAL_DATA_ARRAY Src="VariPrint1.pdf" Index="1" IndexUsage="Multiple"/>
    </SOURCE>
    <VIEW/>
    </OBJECT>
    </MARK>
    </PAGE>
    </DOCUMENT>
    <DOCUMENT Label = "VariPrint" DocumentCopies="1" PageCount="1">
    <PAGE Label = "VariPrint2">
    <MARK Position="0 0">
    <OCCURRENCE_REF Ref="Template0"/>
    </MARK>
    <MARK Position="0 0">
    ...
    Edward Tsui - HAIYAA VariPrint
    edward@haiyaatech.com


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Sponsors

Esko Sponsored Content