PDF에서 폰트 추출하기
Contents
[
Hide
]
PDF 문서에서 모든 폰트를 가져오고자 하는 경우, Document 클래스에서 제공하는 Document.IDocumentFontUtilities.getAllFonts() 메서드를 사용할 수 있습니다. 기존 PDF 문서에서 모든 폰트를 얻기 위한 다음 코드 스니펫을 확인하십시오:
// License 클래스의 새 인스턴스를 생성하고 라이선스 파일을 설정합니다.
$licenceObject = new License();
$licenceObject->setLicense($license);
// PDF 문서가 포함된 디렉토리의 경로와 추출된 폰트의 출력 디렉토리를 설정합니다.
$dataDir = getcwd() . DIRECTORY_SEPARATOR . "samples";
$inputFile = $dataDir . DIRECTORY_SEPARATOR . "sample.pdf";
// 응답 데이터 변수를 초기화합니다.
$responseData = "";
try {
// PDF 문서를 로드합니다.
$document = new Document($inputFile);
// PDF 문서에서 사용된 모든 폰트를 가져옵니다.
$fonts = java_values($document->getFontUtilities()->getAllFonts());
// 각 폰트를 반복하여 TrueType 폰트 파일로 저장합니다.
foreach ($fonts as $font) {
// 폰트 파일의 출력 경로를 설정합니다.
$outputFile = $dataDir . DIRECTORY_SEPARATOR . "results" . DIRECTORY_SEPARATOR . $font->getFontName() . ".ttf";
// 폰트 파일을 쓰기 위한 FileOutputStream 객체를 생성합니다.
$fontStream = new java("java.io.FileOutputStream", $outputFile);
// 폰트를 TrueType 폰트 파일로 저장합니다.
$font->save($fontStream);
// 폰트 스트림을 닫습니다.
$fontStream->close();
// 응답 데이터에 폰트 이름을 추가합니다.
$responseData = $responseData . $font->getFontName() . ", ";
}
// PDF 문서를 닫습니다.
$document->close();
}