2015-01-13 4 views
-2

PDF의 특정 섹션에서 텍스트를 제거하려고합니다. 해당 지역의 X, Y 좌표를 알고 있다면 텍스트를 삭제할 수 있습니다. 그러나 PDF에서 선택한 영역의 좌표를 가져올 수 없습니다. 친절하게 도와주세요.itext를 사용하여 pdf에서 선택한 영역의 좌표를 가져 오는 중

+0

"선택한 영역의 좌표를 가져올 수 없습니다."라는 질문에 명확하지 않지만 선택 기준에 대해 알려주지 않습니다. 수동으로 선택이 완료 되었습니까? 특수 효과의 위치를 ​​기준으로 선택합니까? 특정 콘텐츠의 출현에 기반한 선택입니까? 문제는 분명히 밝혀야합니다. http://stackoverflow.com/questions/13632541/get-the-exact-stringposition-in-pdf –

답변

0

이 질문은 이전 질문의 후속이다 :이 질문에 Remove text occurrences contained in a specified area with iText

, 당신은 특정 영역에서 콘텐츠를 삭제하는 방법에 대한 질문. 이제이 특정 영역을 결정하는 방법을 묻는 중입니다. 그러나 질문은 불완전합니다. 영역을 선택하기위한 기준을 말하지 않고 있습니다.

수정 작업이라고 생각하는 것 같습니다. StackOverflow 질문에 설명되어 있습니다. How to create and apply redactions?

이 질문에 대한 대답으로 프로그래밍 방식으로 수정 주석을 만드는 방법을 설명합니다. 그러나 교정은 일반적으로는 Adobe Acrobat을 사용하여 수동으로 수행됩니다

Redaction in Acrobat

화살표는 당신이 필요로하는 기능을 보여줍니다 도구> 보호> 마크에 대한 편집

만 좌표없이 편집 주석을해야하는 경우 수동으로 사각형을 표시하고 iText를 사용하여 좌표를 추출 할 수있는 또 다른 주석을 소개 할 수 있습니다. 예를 들어 : 사각형이 양식 필드 인 경우 좌표를 가져 오는 것이 정말 쉽습니다. 삭제할 콘텐츠가 양식 입력란의 값인 경우 해당 콘텐츠를 삭제하는 것이 더 쉽습니다. 입력란을 삭제하면됩니다.

이러한 좌표를 수동으로 검색 할 수없는 경우 불가능할 수있는 무언가가있을 수 있습니다. 예를 들어, 제거하려는 영역의 내용에 대해 모르는 경우 당신은 제거해야 할 것을 프로그램에 가르치려고합니까?

찾고있는 콘텐츠를 알고 있다면 해당 콘텐츠를 구문 분석해야합니다. 그 질문은 물어 전에 대답했습니다 : Get the exact Stringposition in PDF

업데이트 : 코멘트에

, 당신은 당신이 그 때문에 자바 스윙 응용 프로그램에서 이미지를 렌더링하는 것이, 이미지로 PDF 페이지를 변환하는 것이 설명 사용자는 사각형을 선택할 수 있습니다. 이 직사각형은 java.awt.Image으로 저장됩니다.

이렇게하면 Java의 좌표계가 PDF의 좌표계와 다르기 때문에 다음과 같은 잠재적 인 문제가 발생합니다.

  1. Y 축이 다릅니다은 PDF에서 페이지의 크기는 우리가 페이지 경계 전화 사각형에 설명되어 있습니다. 가장 중요한 페이지 경계는 MediaBox (필수) 및 CropBox (선택 사항)입니다. MediaBox에는 페이지를 정의하는 사각형의 왼쪽 아래 모서리와 오른쪽 위 모퉁이의 좌표가 들어 있습니다. 좌표계에서 Y 축은 위쪽을 가리 킵니다. 왼쪽 아래 모서리의 Y 좌표는 오른쪽 위 모퉁이의 Y 좌표보다 낮습니다. 자바에서는 반대편입니다 : 객체 위쪽의 Y 좌표는 0이고 Y 축은 아래쪽을 가리 킵니다. Y 값이 클수록이 Y 값의 객체가 더 낮습니다.
  2. 오프셋이있을 수 있습니다. 대부분의 경우 MediaBox의 왼쪽 아래 모서리에는 좌표 X = 0, Y = 0이 있습니다. 항상 그런 것은 아닙니다. 오프셋을 고려해야 할 수도 있습니다.
  3. 해상도가 다를 수 있습니다. 기본 사용자 단위가 지점에 해당합니다. 예 : A4 페이지는 595x842 사용자 단위입니다. 모든면에서 72 점이 있습니다. 이미지를 만들 때 꼭 포인트로 측정 할 필요는 없습니다. 어쩌면 픽셀 단위로 측정 할 수 있습니다. 300ppi (300dpi)로 이미지를 만들 수 있습니다.

이러한 이유로 인해 Swing 앱에서 가져온 직사각형이 PDF에서 사용해야하는 좌표와 다를 수 있습니다. 이 모든 것을 고려해야합니다. 그렇지 않으면 문제가 계속 발생합니다. 문제는 계속됩니다. 이것은 iText 문제가 아닙니다. 이것은 수학 문제입니다.

+0

의 복제본 일 수 있습니다. jframe에 빨간색 pdf를 입력하고 마우스 이벤트를 사용하여 원하는 특정 영역을 사각형으로 그립니다. 직사각형 좌표 좌표있어.이 공동 ordinates에 따라 나는 실제 PDF에서 텍스트를 제거하지만 그 내용은 제가 잘못한 제안을하시기 바랍니다 제거되지 않습니다. – amar

+0

PDF를 JFrame으로 읽는 방법 (어떤 도구입니까?) 및 좌표의 특성 (좌표 시스템이 사용되는)은 무엇입니까? 이 좌표를 사용하여 PDF에 사각형을 그리면 그 사각형이 보입니까? 그렇지 않으면 좌표가 PDF 좌표계에서 좌표가 아니라는 점에서 잘못되었습니다. 가장 큰 실수는 당신이 묻는 질문이 구체적이지 않다는 것입니다. –

+0

pdf 페이지를 이미지로 변환하고 그 이미지를 jframe에 추가하고 그 jframe에서 paint 메소드를 사용하여 영역을 선택한 다음 java.awt.Rectangle을 가져 왔습니다. – amar

관련 문제