게으른 개발자의 끄적거림

Java, JavaScript pdf 병합하는 방법

끄적잉 2024. 2. 27. 21:28
반응형

Java, JavaScript pdf 병합하는 방법

 

Java나 JavaScript를 사용하여 여러 개의 PDF 출력물을 한 개의 PDF로 병합하는 방법에 대해 알려드리겠습니다.

 

 


### Java를 사용한 방법:

Java에서는 iText라는 라이브러리를 사용하여 PDF를 다룰 수 있습니다. 이 라이브러리를 활용하여 여러 개의 PDF를 병합할 수 있습니다.

 


1. **iText 라이브러리 추가**: 먼저 프로젝트의 의존성으로 iText를 추가해야 합니다. Maven 프로젝트인 경우 `pom.xml` 파일에 다음 의존성을 추가합니다.


<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itext7-core</artifactId>
    <version>7.1.16</version>
</dependency>


2. **PDF 병합 코드 작성**:


import cohttp://m.itextpdf.kernel.pdf.PdfDocument;
import cohttp://m.itextpdf.kernel.pdf.PdfMerger;
import cohttp://m.itextpdf.kernel.pdf.PdfReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class PdfMergerExample {
    public static void main(String[] args) {
        String[] filesToMerge = {"file1.pdf", "file2.pdf", "file3.pdf"}; // 병합할 파일들의 경로

        try {
            File mergedFile = new File("merged.pdf"); // 병합된 파일의 경로
            FileOutputStream fos = new FileOutputStream(mergedFile);
            PdfDocument mergedDocument = new PdfDocument(new PdfWriter(fos));
            PdfMerger merger = new PdfMerger(mergedDocument);

            for (String filePath : filesToMerge) {
                PdfDocument pdfDoc = new PdfDocument(new PdfReader(filePath));
                merger.merge(pdfDoc, 1, pdfDoc.getNumberOfPages());
                pdfDoc.close();
            }

            mergedDocument.close();
            fos.close();
            System.out.println("PDF 병합이 완료되었습니다.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}


위 코드에서는 주어진 파일들(`file1.pdf`, `file2.pdf`, `file3.pdf`)을 한 개의 PDF로 병합한 후 `merged.pdf`로 저장합니다. 이를 원하는 경로로 변경할 수 있습니다.

 

 

반응형

 


### JavaScript를 사용한 방법:

JavaScript에서는 PDFKit이라는 라이브러리를 사용하여 PDF를 다룰 수 있습니다. 이 라이브러리를 활용하여 여러 개의 PDF를 병합할 수 있습니다.

 


1. **PDFKit 라이브러리 추가**: 먼저 프로젝트에 PDFKit 라이브러리를 추가해야 합니다. npm을 통해 설치합니다.


npm install pdfkit --save


2. **PDF 병합 코드 작성**:


const fs = require('fs');
const PDFDocument = require('pdfkit');

const filesToMerge = ['file1.pdf', 'file2.pdf', 'file3.pdf']; // 병합할 파일들의 경로
const mergedFilePath = 'merged.pdf'; // 병합된 파일의 경로

const mergedDoc = new PDFDocument();

filesToMerge.forEach(filePath => {
    const pdfDoc = new PDFDocument({bufferPages: true});
    pdfDoc.pipe(fs.createWriteStream('temp.pdf'));

    pdfDoc.text(''); // 필요한 경우, 문서의 첫 페이지에 텍스트 추가

    pdfDoc.end();

    const tempDoc = new PDFDocument();
    tempDoc.pipe(fs.createWriteStream('temp2.pdf'));

    const reader = fs.createReadStream(filePath);
    reader.pipe(tempDoc);
    reader.on('end', () => {
        tempDoc.end();
        mergedDoc.addPage(tempDoc);

        fs.unlinkSync('temp2.pdf');
    });
});

mergedDoc.end();

mergedDoc.pipe(fs.createWriteStream(mergedFilePath));
console.log('PDF 병합이 완료되었습니다.');


위 코드에서는 주어진 파일들(`file1.pdf`, `file2.pdf`, `file3.pdf`)을 한 개의 PDF로 병합한 후 `merged.pdf`로 저장합니다. 이를 원하는 경로로 변경할 수 있습니다.

이러한 방법을 통해 Java나 JavaScript에서 여러 개의 PDF를 한 개의 PDF로 병합할 수 있습니다.

반응형

'게으른 개발자의 끄적거림' 카테고리의 다른 글

HTML 단어 반응형으로 띄어쓰는 방법  (0) 2024.03.04
Java Json형태 변수로 받기  (0) 2024.02.28
Java 메서드 return이란?  (1) 2024.02.26
웹 접근성이란?  (0) 2024.02.22
IT 개발자가 되려면?  (0) 2024.02.21