본문 바로가기
java

[Java] 워드파일(doc) PDF 변환

by 호랭형님 2021. 12. 31.

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.OutputStream;

import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.extractor.WordExtractor;
import org.apache.poi.hwpf.usermodel.Paragraph;
import org.apache.poi.hwpf.usermodel.Range;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;

import com.lowagie.text.Document;
import com.lowagie.text.pdf.PdfWriter;


public class PDFmake {

	// doc파일 pdf 변환
	// 참조 - https://pythonq.com/so/java/289023
	public static void main(String[] args) {

		POIFSFileSystem pfs = null;
		Document doc = new Document();

		try {
			pfs = new POIFSFileSystem(new FileInputStream("D:\\TEST\\test.doc"));// doc파일 경로
			HWPFDocument hd = new HWPFDocument(pfs);
			WordExtractor we = new WordExtractor(hd);

			OutputStream os = new FileOutputStream(new File("D:\\TEST\\test.pdf"));// pdf 경로
			PdfWriter writer = PdfWriter.getInstance(doc, os);

			Range range = hd.getRange();
			doc.open();
			writer.setPageEmpty(true);
			doc.newPage();
			writer.setPageEmpty(true);

			String[] paragraph = we.getParagraphText();
			for(int i=0; i<paragraph.length; i++){
				Paragraph pre = range.getParagraph(i);
				paragraph[i] = paragraph[i].replaceAll("\\cM?\r?\n", "");
				doc.add(new com.lowagie.text.Paragraph(paragraph[i]));
			}

			System.out.println("pdf 생성완료");

		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			doc.close();
		}

	}

}

실행결과


자바로 워드문서를 PDF로 변환할 수 있나 해서 해봤는데 글자는 되는데 표는 안 되는거 같네요....

 

다른 분들 보니깐 되는거 같긴한데 잘 모르겠네요... 혹시 보시고 아시는 분들은 댓글 남겨주시면 감사하겠습니다~

'java' 카테고리의 다른 글

[Java] zip파일 내부 목록확인  (0) 2021.12.31
[Java]JDBC DELETE하기  (0) 2021.10.30
[Java]JDBC UPDATE하기  (0) 2021.10.30
[Java] JDBC INSERT하기  (0) 2021.10.30
[Java] JDBC로 오라클 연결  (0) 2021.10.27

댓글