tech.chakapoko.com
Home / Java / Apache PDFBox

[Java]PDFBoxで線を引く

package com.example;

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;

import java.awt.*;
import java.io.File;
import java.io.IOException;

public class PDFBoxExample {

    public static void main(String[] args) throws IOException {
        try (PDDocument pdDocument = new PDDocument()) {
            PDPage pdPage = new PDPage();
            pdDocument.addPage(pdPage);

            float pageHeight = pdPage.getMediaBox().getHeight();

            try (PDPageContentStream stream = new PDPageContentStream(pdDocument, pdPage)) {
                stream.moveTo(100f, pageHeight - 100f);
                stream.lineTo(500f, pageHeight - 100f);
                stream.setStrokingColor(Color.BLACK);
                stream.setLineWidth(5f);
                stream.stroke();

                stream.moveTo(100f, pageHeight - 200f);
                stream.lineTo(500f, pageHeight - 200f);
                stream.setStrokingColor(Color.BLUE);
                stream.setLineWidth(5f);
                stream.stroke();

                stream.moveTo(100f, pageHeight - 300f);
                stream.lineTo(500f, pageHeight - 300f);
                stream.setStrokingColor(Color.BLACK);
                stream.setLineWidth(5f);
                stream.setLineDashPattern(new float[]{8f, 4f}, 0f);
                stream.stroke();
            }

            pdDocument.save(new File("Example.pdf"));
        }
    }

}

draw-lines.png