PDF에 워터마크 추가
Aspose.PDF for PHP via Java는 아티팩트를 사용하여 PDF 문서에 워터마크를 추가할 수 있습니다. 이 문서를 확인하여 작업을 해결하세요.
Adobe Acrobat으로 생성된 워터마크는 PDF 사양의 14.8.2.2 실제 콘텐츠 및 아티팩트에서 설명된 대로 아티팩트라고 합니다. 아티팩트 작업을 위해 Aspose.PDF는 Artifact 클래스와 ArtifactCollection 클래스를 제공합니다.
특정 페이지의 모든 아티팩트를 얻으려면, Page 클래스에 Artifacts 속성이 있습니다. 이 주제는 PDF 파일에서 아티팩트 작업하는 방법을 설명합니다.
아티팩트 작업하기
Artifact 클래스는 다음 속성을 포함합니다:
Artifact.Type – 아티팩트 유형을 가져옵니다 (Artifact.ArtifactType 열거형의 값을 지원하며, 값에는 Background, Layout, Page, Pagination 및 Undefined가 포함됩니다). Artifact.Subtype – 아티팩트 하위 유형을 가져옵니다 (Artifact.ArtifactSubtype 열거형의 값을 지원하며, 값에는 Background, Footer, Header, Undefined, Watermark가 포함됩니다).
Artifact.Contents – 아티팩트 내부 연산자의 컬렉션을 가져옵니다. 지원되는 유형은 System.Collections.ICollection입니다. Artifact.Form – 아티팩트의 XForm을 가져옵니다 (XForm이 사용되는 경우). 워터마크, 헤더 및 푸터 아티팩트는 모든 아티팩트 내용을 보여주는 XForm을 포함합니다.
Artifact.Image – 아티팩트의 이미지를 가져옵니다 (이미지가 있는 경우, 그렇지 않으면 null).Artifact.Text – 아티팩트의 텍스트를 가져옵니다.
Artifact.Rectangle – 페이지에서 아티팩트의 위치를 가져옵니다.
Artifact.Rotation – 아티팩트의 회전(도 단위, 양수는 시계 반대 방향 회전을 나타냄)을 가져옵니다.
Artifact.Opacity – 아티팩트의 불투명도를 가져옵니다. 가능한 값은 0에서 1 사이이며, 1은 완전히 불투명합니다.
프로그래밍 샘플: 워터마크 가져오기
다음 코드 스니펫은 PHP로 PDF 파일의 첫 페이지에 있는 각 워터마크를 가져오는 방법을 보여줍니다.
// 문서 열기
$document = new Document($inputFile);
$formattedText = new FormattedText("Watermark",
(new Color())->getBlue()->getRgb(),
(new facades_FontStyle())->getCourier(),
facades_EncodingType::$Identity_h,
true, 72.0);
$horizontalAlignment = new HorizontalAlignment();
$verticalAlignment = new VerticalAlignment();
$artifact = new WatermarkArtifact();
$artifact->setText($formattedText);
$artifact->setArtifactHorizontalAlignment ($horizontalAlignment->getCenter());
$artifact->setArtifactVerticalAlignment ($verticalAlignment->getCenter());
$artifact->setRotation(45);
$artifact->setOpacity(0.5);
$artifact->setBackground(true);
$document->getPages()->get_Item(1)->getArtifacts()->add($artifact);
// 출력 문서 저장
$document->save($outputFile);
$document->close();