初めに
現在、Javaを使ってpdfファイルを生成しようと試み、pdfBOXを使って作業しています。
ソースコード
Java
1import java.io.File; 2import java.io.IOException; 3import java.util.Calendar; 4 5import org.apache.fontbox.ttf.TrueTypeCollection; 6import org.apache.pdfbox.pdmodel.PDDocument; 7import org.apache.pdfbox.pdmodel.PDPage; 8import org.apache.pdfbox.pdmodel.PDPageContentStream; 9import org.apache.pdfbox.pdmodel.font.PDFont; 10import org.apache.pdfbox.pdmodel.font.PDType0Font; 11 12public class PdfTest { 13 @SuppressWarnings("resource") 14public static void main(String args[]) { 15 Calendar cal =Calendar.getInstance(); 16 17 18 19 try { 20 PDDocument document = new PDDocument(); 21 22 PDPage page = new PDPage(); 23 document.addPage(page); 24 25 File file = new File("C:/Windows/Fonts/msmincho.ttc"); 26 TrueTypeCollection collection = new TrueTypeCollection(file); 27 PDFont font = PDType0Font.load(document, collection.getFontByName("MS-Mincho"), true); 28 29 PDPageContentStream contentStream = new PDPageContentStream(document, page); 30 contentStream.beginText(); 31 contentStream.setFont(font, 12); 32 contentStream.newLineAtOffset(250,750); 33 contentStream.setLeading(12); 34 contentStream.showText( "サンプル" ); 35 contentStream.newLine(); 36 contentStream.showText(String.valueOf(cal.get(Calendar.YEAR))+"/"+String.valueOf(cal.get(Calendar.MONTH)+1)+"/"+String.valueOf(cal.get(Calendar.DATE))); 37 contentStream.endText(); 38 contentStream.close(); 39 40 document.save("helloworld.pdf"); 41 document.close(); 42 } 43 catch (IOException e) { 44 e.printStackTrace(); 45 } 46 } 47}
実行結果
実現したいこと
現在、タイトルの「サンプル」の下に日付が来ていますが、
日付は右端に移動させたいです。
イメージ
(スペース) サンプル
(スペース) 2020/5/31
また、サンプルのテキストの位置を、
contentStream.newLineAtOffset()で出力位置を決めていますが、
画面の真ん中といった、HTMLでいうalign-centerのようなスタイルで記載したいです。
最後に
ご教授宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/01 13:30