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

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

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:
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">
...
 

PressWise

A 30-day Fix for Managed Chaos

As any print professional knows, printing can be managed chaos. Software that solves multiple problems and provides measurable and monetizable value has a direct impact on the bottom-line.

“We reduced order entry costs by about 40%.” Significant savings in a shop that turns about 500 jobs a month.


Learn how…….

   
Back
Top