무료 소프트웨어가 없어서 PDF에 직접적으로 그려지는 것을 극도로 짜증나게 만들었습니다.렌더링 된 PDF로 그리기 - 스윙
GUI의 일종의 캔버스 위젯을 GUI 아래에 표시하여 PDF의 내용을 화면에 그려서 기록하고 렌더링하고 파일을 저장할 때 그려지는 모든 것을 저장하려고합니다. (배경이 투명한) .png를 .pdf 위에 겹쳐서 놓습니다.
필자는 이미 iText를 사용하여 pdf를 덮어 씌우는 방법을 썼지 만 GUI에 접근하는 방법을 모르겠습니다. pdf 렌더링을 어떻게 진행해야합니까? .pdf의 페이지를 이미지 (PDF 렌더러)로 변환하고 Swing에서 그 문제를 해결하는 방법을 보았습니다. 그러나 이것이 해상도 문제 (확대/축소)를 가지고 있다고 생각합니다.
내가 가진 또 다른 아이디어는 JPedal의 뷰어 위젯을 사용하여 스윙 요소에 .pdf를 렌더링하는 것이지만 캔버스를 어떻게 설정했는지 확실하지 않습니다.
어떻게 접근해야합니까?
내 인터페이스의 일반 구조는 어떻게해야합니까?
이 옵션 중 하나를 시도하지 않았습니다. (여전히 라이브러리 인터페이스를 조사하고 있습니다.) 나는 (프로그램의 기본 구조에 관한 것이기 때문에) 조기에 조언을 구하고 싶었다.
pdf에 직접 그릴 수있는 자유 소프트웨어가 부족하거나, 어둠에 노출 된 경우 (JLayer (Java6의 경우 JXLayer) 또는 GlassPane) 또는 JFrame.getRootPane/ContentPane에서 BufferedImage를 만들거나 @camickr 님이 직접 작성한 [Screen Image] (http://tips4java.wordpress.com/2008/10/13/screen-image/) – mKorbel
GlassPane이 좋게 들립니다 (저는 Viwewer 꼭대기에 올려 놓을 수 있습니다). 마우스 클릭/드래그를 GlassPane의 드로잉으로 실제로 변환하는 것에 대한 조언이 있습니까? –
모든 MouseEvent를 소비하려면 GlassPane (임의의 JComponent를 놓아야 함), KeyEvents는 필요한 경우 consume()에 JList를 추가하는 KeyListener 여야합니다. – mKorbel