テキストファイルは、どんなテキスト編集プログラムでも簡単に編集することができます。他の人がファイルを閲覧する際に変更を防ぎたい場合は、PDF に変換することができます。今回は、Spire.PDF for Java を使用して、Java でテキストファイルを PDF に変換する方法を紹介します。
Spire.PDF for Java をインストールします
まず、Spire.PDF for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Mavenを使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url> https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.pdf</artifactId>
<version>9.4.9</version>
</dependency>
</dependencies>
Java でテキストファイルを PDF に変換する
Spire.PDF for Java を使ってテキストファイルを PDF に変換するには、TXT ファイルからテキストを読み込み、PdfTextWidget.draw() メソッドを使って PDF ドキュメントにテキストを描画する必要があります。詳しい手順は以下の通りです。
- テキストファイルのテキストを String のオブジェクトに読み込みます。
- PdfDocument のインスタンスを作成し、PdfDocument.getPages().add() メソッドを使用して PDF ファイルにページを追加します。
- テキストから PdfTextWidget のインスタンスを作成します。
- PdfTextWidget.draw() メソッドを使用して、PDF ページ上にテキストを描画します。
- PdfDocument.saveToFile() メソッドを使用して、結果ファイルを保存します。
- Java
import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.*;
import java.awt.*;
import java.awt.geom.Rectangle2D;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class textToPDF {
public static void main(String[] args) throws IOException {
//テキストファイルからテキストを読み込む
String text = readTextFromFile("C:/Spire.PDF for Java.txt");
//PdfDocumentのインスタンスを作成する
PdfDocument pdf = new PdfDocument();
//ページを追加する
PdfPageBase page = pdf.getPages().add();
//PdfTrueTypeFontのインスタンスを作成する
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("BIZ UDGothic", Font.PLAIN, 12));
//PdfTextLayoutのインスタンスを作成する
PdfTextLayout textLayout = new PdfTextLayout();
textLayout.setBreak(PdfLayoutBreakType.Fit_Page);
textLayout.setLayout(PdfLayoutType.Paginate);
//PdfStringFormatのインスタンスを作成する
PdfStringFormat format = new PdfStringFormat();
format.setLineSpacing(20f);
//テキストからPdfTextWidgetのインスタンスを作成する
PdfTextWidget textWidget = new PdfTextWidget(text, font, PdfBrushes.getBlack());
//文字列の書式を設定する
textWidget.setStringFormat(format);
//ページ内の指定された位置にテキストを描画する
Rectangle2D.Float bounds = new Rectangle2D.Float();
bounds.setRect(0, 25, page.getCanvas().getClientSize().getWidth(), page.getCanvas().getClientSize().getHeight());
textWidget.draw(page, bounds, textLayout);
//結果ファイルを保存する
pdf.saveToFile("テキストからPDFへの変換.pdf", FileFormat.PDF);
}
public static String readTextFromFile(String fileName) throws IOException {
StringBuffer sb = new StringBuffer();
BufferedReader br = new BufferedReader(new FileReader(fileName));
String content = null;
while ((content = br.readLine()) != null) {
sb.append(content);
sb.append("\n");
}
return sb.toString();
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。