1 package it.stefanochizzolini.clown.samples; 2 3 import it.stefanochizzolini.clown.bytes.Buffer; 4 import it.stefanochizzolini.clown.documents.Document; 5 import it.stefanochizzolini.clown.documents.Page; 6 import it.stefanochizzolini.clown.documents.PageFormat; 7 import it.stefanochizzolini.clown.documents.contents.ContentStream; 8 import it.stefanochizzolini.clown.documents.contents.Fonts; 9 import it.stefanochizzolini.clown.documents.contents.Resources; 10 import it.stefanochizzolini.clown.documents.contents.colorSpaces.DeviceGrayColor; 11 import it.stefanochizzolini.clown.documents.contents.composition.ContentBuilder; 12 import it.stefanochizzolini.clown.documents.contents.fonts.Font; 13 import it.stefanochizzolini.clown.documents.contents.fonts.StandardType1Font; 14 import it.stefanochizzolini.clown.files.File; 15 import it.stefanochizzolini.clown.objects.PdfName; 16 17 import java.awt.geom.Point2D ; 18 19 33 public class HelloWorldSample 34 implements ISample 35 { 36 private static final PdfName ResourceName_DefaultFont = new PdfName("default"); 39 42 public void run( 47 PDFClownSampleLoader loader 48 ) 49 { 50 52 File file = new File(); 53 54 try 55 { 56 58 Document document = file.getDocument(); 59 60 initialize(document); 62 63 populate(document); 65 } 66 catch(Exception e) 67 {throw new RuntimeException (e);} 68 69 loader.serialize(file,this.getClass().getSimpleName(),false); 71 } 72 75 79 private void initialize( 80 Document document 81 ) 82 { 83 document.setPageSize(PageFormat.getSize()); 85 86 Resources resources = new Resources(document); document.setResources(resources); Fonts fonts = new Fonts(document); resources.setFonts(fonts); fonts.put( 95 ResourceName_DefaultFont, 96 new StandardType1Font( 97 document, 98 StandardType1Font.FamilyNameEnum.Courier, 99 true, 100 false 101 ) 102 ); 103 } 104 105 108 private void populate( 109 Document document 110 ) 111 { 112 Page page = new Page(document); document.getPages().add(page); ContentStream content = new ContentStream(document); page.getContents().add(content); ContentBuilder contentBuilder = new ContentBuilder(content,new Buffer()); 120 contentBuilder.setFillColor( 123 new DeviceGrayColor(0) 124 ); 125 contentBuilder.beginText(); 127 contentBuilder.setFont(ResourceName_DefaultFont,32); 129 contentBuilder.showText( 131 "Hello World!", 132 new Point2D.Double (32,48) 133 ); 134 contentBuilder.endText(); 136 content.append(contentBuilder.getBuffer()); 138 } 139 } | Popular Tags |