2017-05-12 66 views
0

Java에서 Graphics2D의 다중 페이지 PostScript 파일을 만들고 싶습니다. 현재 각 페이지의 Graphics2D 객체에 쓰는 Java 코드가 있습니다. EPSGraphics 라이브러리를 사용하여 각 페이지에 대해 EPS 개체를 만들 수 있습니다.Java : EPS에서 PostScript 파일을 작성하려면 어떻게합니까?

어떻게 EPS 개체 모음에서 포스트 스크립트 파일을 작성합니까?

참고 : 이 아니라입니다. 이것이 접근 방법이고 몇 가지가 존재하는 경우 가장 좋은 라이브러리는 무엇인지 묻는 것입니다. 나는 이것을하는 방법을 묻는 것이다.

+0

"이 및/또는 무엇을 설명하는 웹 페이지를 수행하는 자바 라이브러리가 있는가?"와 같은

그래서 최종 포스트 스크립트 프로그램을 보일 것이다 이런 종류의 질문은 주제를 벗어난 것입니다. 다시 말해야합니다. 어쩌면 : https://xmlgraphics.apache.org/commons/postscript.html#generator –

답변

2

각 EPS 파일에는 BoundingBox가 주석 (또는 HiResBoundingBox 일 수도 있음)이있어서 주석을 읽어야합니다. 그러면 각 EPS의 크기 (포스트 스크립트 지점)를 알 수 있습니다.

그런 다음 각 EPS를 그리는 방법을 결정해야합니다 (EPS는 이 아니며 페이지가이 아닙니다). boundingbox를 사용하면 페이지에서 그림을 배치 할 위치를 결정할 수 있습니다. 그런 다음 현재 그래픽 상태를 저장하고 크기를 작성하고 연산자를 변환하여 페이지에 EPS를 배치 한 다음 grestore를 실행합니다.

페이지 당 여러 EPS 수치가 필요한 경우 각 수치에 대해 반복하십시오.

페이지가 끝날 때 페이지를 렌더링하고 추출하려면 showpage 연산자를 작성하십시오. 다음 페이지를 위해 반복하십시오.

%!PS 
gsave 
x y translate 
x y scale 

% Insert the entire content of the first EPS here 
% 

%!PS_Adobe_EPSF.... 
.... 
.... 
%%EOF 

grestore 


gsave 
x y translate 
x y scale 

% Insert the entire content of the second EPS here (if required) 
% 

%!PS_Adobe_EPSF.... 
.... 
.... 
%%EOF 
... 
... 

grestore 
showpage 

%% Begin page 2, repeat as above 

showpage 
+0

그래서 바운딩 박스가 포인트 안에 있습니까? 그건 의미가 있습니다. 이것은 벡터 기반이지만 크기가 설정되어있는 EMF와 같습니다 (물론 무시할 수 있음). 고맙습니다. –