PDF에서 작업하기

다음 코드 스니펫은 Aspose.PDF.Drawing 라이브러리와 함께 작동합니다.

PDF 파일에 하이퍼링크 추가

PDF 파일에 하이퍼링크를 추가할 수 있으며, 이는 독자가 PDF의 다른 부분이나 외부 콘텐츠로 탐색할 수 있도록 합니다.

PDF 문서에 웹 하이퍼링크를 추가하려면:

  1. Document 클래스 객체를 생성합니다.
  2. 링크를 추가할 Page 클래스를 가져옵니다.
  3. Page 및 Rectangle 객체를 사용하여 LinkAnnotation 객체를 생성합니다. 사각형 객체는 링크가 추가될 페이지의 위치를 지정하는 데 사용됩니다.
  4. Action 속성을 원격 URI의 위치를 지정하는 GoToURIAction 객체로 설정합니다.
  5. 하이퍼링크 텍스트를 표시하려면 LinkAnnotation 객체가 배치된 위치와 유사한 위치에 텍스트 문자열을 추가합니다.
  6. 자유 텍스트를 추가하려면:
  • FreeTextAnnotation 객체를 인스턴스화합니다. 이 객체는 Page 및 Rectangle 객체를 인수로 받아들이므로 LinkAnnotation 생성자에 지정된 값과 동일한 값을 제공할 수 있습니다.
  • FreeTextAnnotation 객체의 Contents 속성을 사용하여 출력 PDF에 표시될 문자열을 지정합니다.
  • 선택적으로, LinkAnnotation 및 FreeTextAnnotation 객체의 테두리 너비를 0으로 설정하여 PDF 문서에 나타나지 않도록 합니다.
  • LinkAnnotationFreeTextAnnotation 객체가 정의되면 이러한 링크를 Page 객체의 Annotations 컬렉션에 추가합니다.
  • 마지막으로, Document 객체의 Save 메서드를 사용하여 업데이트된 PDF를 저장합니다.

다음 코드 스니펫은 PDF 파일에 하이퍼링크를 추가하는 방법을 보여줍니다.

동일한 PDF의 페이지에 하이퍼링크 만들기

Aspose.PDF for .NET은 PDF 생성 및 조작에 훌륭한 기능을 제공합니다. 또한 PDF 페이지에 링크를 추가하는 기능을 제공하며, 링크는 다른 PDF 파일의 페이지, 웹 URL, 애플리케이션을 실행하는 링크 또는 동일한 PDF 파일의 페이지로 연결될 수 있습니다. 동일한 PDF 파일의 페이지에 대한 로컬 하이퍼링크를 추가하기 위해 LocalHyperlink라는 클래스가 Aspose.PDF 네임스페이스에 추가되었으며, 이 클래스에는 하이퍼링크의 대상/목적 페이지를 지정하는 데 사용되는 TargetPageNumber라는 속성이 있습니다.

로컬 하이퍼링크를 추가하려면, 링크를 TextFragment와 연결할 수 있도록 TextFragment를 생성해야 합니다. TextFragment 클래스에는 LocalHyperlink 인스턴스를 연결하는 데 사용되는 Hyperlink라는 속성이 있습니다. 다음 코드 스니펫은 이 요구 사항을 충족하는 단계를 보여줍니다.

PDF 하이퍼링크 대상(URL) 가져오기

링크는 PDF 파일에서 주석으로 표현되며 추가, 업데이트 또는 삭제할 수 있습니다. Aspose.PDF for .NET은 PDF 파일에서 하이퍼링크의 대상(URL)을 가져오는 것도 지원합니다.

링크의 URL을 가져오려면:

  1. Document 객체를 생성합니다.
  2. 링크를 추출할 Page를 가져옵니다.
  3. AnnotationSelector 클래스를 사용하여 지정된 페이지에서 모든 LinkAnnotation 객체를 추출합니다.
  4. AnnotationSelector 객체를 Page 객체의 Accept 메서드에 전달합니다.
  5. AnnotationSelector 객체의 Selected 속성을 사용하여 모든 선택된 링크 주석을 IList 객체로 가져옵니다.
  6. 마지막으로, LinkAnnotation Action을 GoToURIAction으로 추출합니다.

다음 코드 스니펫은 PDF 파일에서 하이퍼링크 대상을(URL) 가져오는 방법을 보여줍니다.

하이퍼링크 텍스트 가져오기

하이퍼링크는 문서에 표시되는 텍스트와 대상 URL의 두 부분으로 구성됩니다. 경우에 따라 URL보다 텍스트가 필요할 수 있습니다.

PDF 파일의 텍스트와 주석/작업은 서로 다른 엔터티로 표현됩니다. 페이지의 텍스트는 단어와 문자 집합일 뿐이며, 주석은 하이퍼링크에 내재된 것과 같은 상호작용을 제공합니다.

URL 콘텐츠를 찾으려면 주석과 텍스트 모두를 작업해야 합니다. Annotation 객체는 자체적으로 텍스트를 가지고 있지 않지만 페이지의 텍스트 아래에 위치합니다. 따라서 텍스트를 얻으려면 Annotation이 URL의 경계를 제공하고, Text 객체가 URL 내용을 제공합니다. 다음 코드 스니펫을 참조하십시오.

PDF 파일에서 문서 열기 작업 제거

문서를 볼 때 PDF 페이지 지정 방법에서는 문서가 첫 페이지가 아닌 다른 페이지에서 열리도록 지정하는 방법을 설명합니다. 여러 문서를 연결할 때, 하나 이상의 문서에 GoTo 작업이 설정되어 있는 경우 이를 제거하고 싶을 수 있습니다. 예를 들어 두 개의 문서를 결합하고 두 번째 문서에 두 번째 페이지로 이동하는 GoTo 작업이 있는 경우, 출력 문서는 결합된 문서의 첫 페이지가 아닌 두 번째 문서의 두 번째 페이지에서 열립니다. 이러한 동작을 피하려면 열기 작업 명령을 제거하십시오.

열기 작업을 제거하려면:

  1. Document 객체의 OpenAction 속성을 null로 설정합니다.
  2. Document 객체의 Save 메서드를 사용하여 업데이트된 PDF를 저장합니다.

다음 코드 스니펫은 PDF 파일에서 문서 열기 작업을 제거하는 방법을 보여줍니다.

문서를 볼 때 PDF 페이지 지정 방법

Adobe Reader와 같은 PDF 뷰어에서 PDF 파일을 볼 때, 파일은 일반적으로 첫 페이지에서 열립니다. 그러나 파일을 다른 페이지에서 열리도록 설정할 수 있습니다.

XYZExplicitDestination 클래스는 열고자 하는 PDF 파일의 페이지를 지정할 수 있게 해줍니다. GoToAction 객체 값을 Document 클래스의 OpenAction 속성에 전달하면, 문서는 XYZExplicitDestination 객체에 대해 지정된 페이지에서 열립니다. 다음 코드 스니펫은 문서 열기 작업으로 페이지를 지정하는 방법을 보여줍니다.