PDF에 이미지 스탬프 프로그래밍 방식으로 추가하기
PDF 파일에 이미지 스탬프 추가하기
ImageStamp 클래스를 사용하여 PDF 문서에 이미지를 스탬프로 추가할 수 있습니다. ImageStamp 클래스는 높이, 너비, 불투명도 등을 지정하는 메서드를 제공합니다.
이미지 스탬프를 추가하려면:
-
필요한 속성을 사용하여 Document 객체와 ImageStamp 객체를 생성합니다.
-
Page 클래스의 addStamp(..) 메서드를 호출하여 PDF에 스탬프를 추가합니다.
다음 코드 스니펫은 PDF 파일에 이미지 스탬프를 추가하는 방법을 보여줍니다.
// 문서 열기
$document = new Document($inputFile);
$pages = $document->getPages();
// 이미지 스탬프 생성
$imageStamp = new ImageStamp($inputImageFile);
$imageStamp->setBackground(true);
$imageStamp->setXIndent(100);
$imageStamp->setYIndent(100);
$imageStamp->setHeight(48);
$imageStamp->setWidth(225);
$imageStamp->setRotate((new Rotation())->getOn270());
$imageStamp->setOpacity(0.5);
// 특정 페이지에 스탬프 추가
$document->getPages()->get_Item(1)->addStamp($imageStamp);
// 출력 문서 저장
$document->save($outputFile);
$document->close()
스탬프 추가 시 이미지 품질 제어
ImageStamp 클래스는 PDF 문서에 스탬프로 이미지를 추가할 수 있습니다. 이미지를 PDF 파일의 워터마크로 추가할 때 이미지 품질을 제어할 수 있습니다. 이를 위해 ImageStamp 클래스에 setQuality(…)라는 메서드가 추가되었습니다. 유사한 메서드는 com.aspose.pdf.facades 패키지의 Stamp 클래스에서도 찾을 수 있습니다.
다음 코드 스니펫은 PDF 파일에 스탬프로 추가할 때 이미지 품질을 제어하는 방법을 보여줍니다.
// 문서 열기
$document = new Document($inputFile);
$pages = $document->getPages();
// 이미지 스탬프 생성
$imageStamp = new ImageStamp($inputImageFile);
$imageStamp->setQuality(10);
$document->getPages()->get_Item(1)->addStamp($imageStamp);
// 출력 문서 저장
$document->save($outputFile);
$document->close();
부동 상자에서 배경으로 이미지 스탬프
Aspose.PDF API를 사용하면 부동 상자에서 배경으로 이미지 스탬프를 추가할 수 있습니다. FloatingBox 클래스의 BackgroundImage 속성은 다음 코드 샘플과 같이 플로팅 박스에 배경 이미지 스탬프를 설정하는 데 사용할 수 있습니다.
이 코드 스니펫은 PDF 문서를 생성하고 여기에 FloatingBox를 추가하는 과정을 보여줍니다. FloatingBox는 텍스트 조각, 테두리, 배경 이미지 및 배경 색상을 포함합니다. 생성된 문서는 출력 파일로 저장됩니다.
// 문서 열기
$document = new Document($inputFile);
$colors = new Color();
$pages = $document->getPages();
// PDF 문서에 페이지 추가
$page = $pages->add();
// FloatingBox 객체 생성
$aBox = new FloatingBox(200, 100);
// FloatingBox의 왼쪽 위치 설정
$aBox->setLeft(40);
// FloatingBox의 상단 위치 설정
$aBox->setTop(80);
// FloatingBox의 수평 정렬 설정
$aBox->setHorizontalAlignment((new HorizontalAlignment())->getCenter());
// FloatingBox의 단락 컬렉션에 텍스트 조각 추가
$aBox->getParagraphs()->add(new TextFragment("main text"));
// FloatingBox에 테두리 설정
$aBox->setBorder(new BorderInfo(BorderSide::$All, $colors->getRed()));
// 배경 이미지 추가
$img = new Image();
$img->setFile($inputImageFile);
$aBox->setBackgroundImage($img);
// FloatingBox의 배경 색상 설정
$aBox->setBackgroundColor($colors->getYellow());
// 페이지 객체의 단락 컬렉션에 FloatingBox 추가
$page->getParagraphs()->add($aBox);
// 출력 문서 저장
$document->save($outputFile);
$document->close();