2012-08-03 5 views
2

저는 iPhone에서 새롭습니다. CGPDFDocument를 사용하여 pdf 파일을 열었습니다. 문서의 특정 줄에서 길게 누르면됩니다. 강조 표시하십시오. 이 작업을 수행 할 샘플 코드는 무엇입니까 ??CGPDFDocument에서 강조 표시

미리 감사드립니다.

답변

3

고유 솔루션을 롤업해야합니다. 애플은 텍스트 선택을 iOS의 비공개 API로 추가했지만 아무 것도 공개하지 않았다. 단순히 UIWebView를 사용하여 해당 기능을 사용하거나 제어가 더 필요하거나 강조 표시와 같은 기능을 원할 경우 고유 한 솔루션을 작성해야합니다.

일반적인 PDF 리더의 경우 꽤 많은 오픈 소스 코드가 있습니다. (예 : vfr/Reader 참조)

또한 텍스트 선택/주석을 얻으려면 완전히 다른 수준의 고통이 필요합니다. 필자는 그 기능들에 대해 연중 내내 더 많은 시간을 보냈으며, 상용 프레임 워크 PSPDFKit의 v2를 발표했습니다.

자신 만의 롤링을 할 때 해결해야 할 두 가지 문제가 있습니다. 첫 번째로 글리프를 가져오고 하나의 글리프에서 단어를 찾습니다. CoreGraphics를 파서로 사용했습니다. 올바른 프레임을 계산하고 현재 드로잉 스택을 관리하고 다양한 글꼴 스타일을 관리하는 것이 어려운 부분입니다. 거기에 몇 가지 오픈 소스 코드 (PDFKitten)하지만 실제로는 위대하지 않고 다양한 PDF 글꼴 형식으로 많은 문제가 있기 때문에 마침내 내 자신을 굴렸다.

둘째, 실제 주석 객체를 작성합니다. 여기에서 모든 객체의 트리를 만들기 위해 PDF를 직접 구문 분석 한 다음/Pages 객체를 대체하는 새로운 예고편을 작성해야합니다 (PDF는 대부분 텍스트이므로 잘 해석 할 수 있지만 여전히 제대로 작성하기는 어렵습니다). 나는 거기에서 당신을 도울 수있는 오픈 소스 코드를 전혀 모르고있다. 나는 official PDF reference으로 많은 긴 밤을 보냈다.