challenge Hello, world! PDF版

Hello, world!シリーズの続編です。 「Hello, world!」となるべく大きく書かれた1ページのPDFを出力してください。

Posted feedbacks - Java

iText を使用しています。なるべく大きくという事で、A0 横の用紙に横幅いっぱいに描画してみました(別に A0 にする必要はなかったかも知れません)。折り返してさらに大きく書く事もできたのですが、横一行のほうが題意に合っていると看做しました。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.io.FileOutputStream;
import com.lowagie.text.Document;
import com.lowagie.text.Paragraph;
import com.lowagie.text.PageSize;
import com.lowagie.text.Font;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfWriter;

public class Sample {
    static final String TEXT = "Hello, World!";
    public static void main(String[] args) throws Exception {
        Document doc = new Document(PageSize.A0.rotate());
        PdfWriter.getInstance(doc, new FileOutputStream("HelloWorld.pdf"));
        doc.open();
        BaseFont bf = BaseFont.createFont(BaseFont.TIMES_ROMAN, 
                                      "US-ASCII", false);
        float s = (doc.right() - doc.left() - doc.rightMargin()) /
            bf.getWidthPoint(TEXT, 1.0f);
        Font f = new Font(Font.TIMES_ROMAN, s);
        doc.add(new Paragraph(TEXT, f));
        doc.close();
    }
}

Index

Feed

Other

Link

Pathtraq

loading...