Java 프로그램을 사용하여 PDF 페이지에 이미지 워터마크를 반복하여 배치하기
이전의 공유에서 이미 워터마크의 중요성을 소개했습니다. PDF 페이지에 투명한 그림을 오버레이하여 문서의 저작권을 보호할 수 있습니다. 이미지 워터마킹은 추가적인 보안을 제공할 뿐만 아니라 전문성과 브랜드 가치를 더하여 PDF 문서를 더 알아보기 쉽고 독특하게 만듭니다. 단일 이미지 워터마크를 추가하는 것 외에도, 우리는 PDF 페이지에 이미지 워터마크를 반복하여 배치할 수 있는 프로그래밍 방식을 사용할 수 있습니다. 아래는 구체적인 조작 방법입니다.
프로그램 환경
IntelliJ IDEA 2018 (jdk 1.8.0)
먼저Free Spire.PDF for Java를 설치하십시오.
다음 링크에서Free Spire.PDF for Java를 다운로드하고 압축을 푸세요.
IDEA에서 새 프로젝트를 만들고 열어주세요.
"File"-"Project Structure"-"Modules"-"Dependencies"을 차례로 클릭합니다.
"JAR or Directories" 아래에 있는 초록색 플러스 기호를 선택합니다.
압축 해제된 lib 폴더에서 "Spire.PDF.jar"를 찾아 해당 파일을 프로젝트에 추가하세요.
샘플 코드:
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.PdfBrush;
import com.spire.pdf.graphics.PdfImage;
import com.spire.pdf.graphics.PdfTilingBrush;
import java.awt.*;
public class insertTiledImageWatermark {
public static void main(String[] args) {
// PdfDocument 클래스의 인스턴스를 생성합니다.
PdfDocument pdf = new PdfDocument();
// PDF 파일을 로드합니다.
pdf.loadFromFile("Goodbye Pixel.pdf");
// 이미지를 불러옵니다.
PdfImage image = PdfImage.fromFile("Logo.png");
// PDF 문서의 페이지를 순환하며 워터마크를 삽입합니다.
for (int i = 0; i < pdf.getPages().getCount(); i++ ) {
// 페이지를 가져옵니다.
PdfPageBase page = pdf.getPages().get(i);
// 사용자 정의 메서드를 사용하여 타일 이미지 워터마크를 삽입합니다.
insertImageWatermark(page, image, 3, 3);
}
// 파일을 저장합니다.
pdf.saveToFile("TiledImageWatermark.pdf");
}
static void insertImageWatermark(PdfPageBase page, PdfImage image, int row, int column) {
// 타일 브러시를 생성합니다.
PdfTilingBrush brush = new PdfTilingBrush(new Dimension((int) (page.getActualSize().getWidth()/column), (int) (page.getActualSize().getHeight()/row)));
brush.getGraphics().setTransparency(0.3f);
brush.getGraphics().save();
brush.getGraphics().translateTransform(brush.getSize().getWidth()/2 - image.getWidth()/2, brush.getSize().getHeight()/2 - image.getHeight()/2);
// 워터마크 이미지를 페이지 중앙에 그립니다.
brush.getGraphics().drawImage(image, 0, 0);
brush.getGraphics().restore();
// 타일 브러시를 사용하여 워터마크 사진을 그립니다.
page.getCanvas().drawRectangle(brush, new Rectangle(new Point(0, 0), new Dimension((int) (page.getActualSize().getWidth()), (int) (page.getActualSize().getHeight()))));
}위의 코드에서는 먼저 PdfDocument 클래스의 인스턴스를 생성하고, PDF 파일과 이미지를 로드합니다. 그런 다음 PDF 문서의 각 페이지를 순환하면서 워터마크 이미지를 삽입합니다. 워터마크 삽입 과정은 PdfTilingBrush 객체를 생성하고 투명도, 위치 및 크기를 설정하여 수행됩니다. 마지막으로 수정된 PDF 파일을 저장합니다. 이 프로그램은 insertImageWatermark라는 사용자 정의 메서드를 통해 각 페이지의 워터마크 삽입 작업을 처리합니다.
해당 라이브러리는 PDF에 이미지 워터마크를 추가하는 것뿐만 아니라 텍스트 워터마크도 추가할 수 있습니다. 자세한 정보는 아래 링크를 참조하세요.
