ConvertTextToPaths

콘텐츠 스트림 편집, 글꼴

설명

선택한 페이지의 텍스트 표시 명령을 벡터 Form XObject 호출로 다시 작성하면서 글리프 배치, 텍스트 간격, 쓰기 모드, 변환, 채우기 색상, 획 색상 및 획 설정을 유지합니다

TrueType 및 Type 1 글리프 윤곽선은 한 번 추출되어 반복되는 글리프에 재사용됩니다. Type 3 CharProc은 글꼴 행렬, 경계 상자 및 리소스 범위를 유지한 일반 Form XObject로 변환됩니다. 원래의 텍스트 표시 및 글꼴 선택 명령은 제거됩니다

변환은 트랜잭션 방식입니다. PDF 객체를 변경하기 전에 선택한 모든 콘텐츠 레이어와 요청된 중첩 Form을 메모리에서 구문 분석하고 변환합니다. 지원되지 않는 글꼴, 텍스트 클리핑 렌더링 모드 4~7, 잘못된 텍스트 상태 및 모호한 공유 Form 리소스 범위는 문서를 부분적으로 다시 쓰지 않고 실패합니다

변환된 텍스트는 더 이상 검색, 선택 또는 텍스트 추출이 불가능하지만 렌더링과 인쇄용 확장 가능 벡터 콘텐츠로 유지됩니다

구문

Delphi

Function TPDFlib.ConvertTextToPaths(Const PageRange: WideString= ''; Options: Integer= PDF_TEXT_PATH_DEFAULT): Integer;

ActiveX

Function PDFlib::ConvertTextToPaths(PageRange As String, Options As Long) As Long

DLL

int DLConvertTextToPaths(int InstanceID, const wchar_t *PageRange, int Options);
int DLConvertTextToPathsA(int InstanceID, const char *PageRange, int Options);

매개변수

PageRange1부터 시작하는 페이지 번호를 사용하는 페이지 범위 표현식. 빈 값은 모든 페이지를 선택합니다
Options중첩된 Form XObject를 변환하는 PDF_TEXT_PATH_RECURSE_FORMS와 사용되지 않게 된 원본 글꼴 리소스를 제거하는 PDF_TEXT_PATH_PURGE_FONTS의 비트 조합입니다 PDF_TEXT_PATH_DEFAULT는 두 옵션을 모두 활성화합니다

반환 값

1 or greater변환된 텍스트 표시 명령 수
0해당하는 텍스트를 찾지 못했거나 범위 또는 옵션이 잘못되었거나 변환에 실패했습니다. 오류를 구분하려면 LastErrorCode를 확인하십시오

오류 코드

506원본 글꼴이 지원되는 벡터 글리프 프로그램을 제공할 수 없습니다
507텍스트 클리핑 렌더링 모드에는 독립 글리프 Form으로 표현할 수 없는 클리핑 경로가 필요합니다
508텍스트 프로그램, 글꼴 상태 또는 재귀 Form 리소스 범위가 잘못되었거나 모호합니다

예제

Converted := PDF.ConvertTextToPaths('1-3,5', PDF_TEXT_PATH_DEFAULT);
If (Converted= 0)and (PDF.LastErrorCode<> 0) Then
  raise Exception.Create(PDF.LastError);