2013-06-06 1 views
0

워터 마크 포스트 스크립트 파일에 포스트 스크립트를 사용하려고합니다. 이 코드는 file_to_watermark.ps의 크기를 변화시키는 일을 할 필요가 (이 위대한 작품을포스트 스크립트 : 다양한 페이지 크기를 가진 워터 마크

<< 
     /EndPage { 
     exch pop 2 lt { 
      /Times-Roman 40 selectfont 
      .6 setgray 300 300 moveto 30 rotate (Watermark) show 
      true} 
      {false} ifelse 
     } bind 
    >> setpagedevice 

    (file_to_watermark.ps) run 

,하지만 난 상관없이 페이지 크기의 페이지를 중심으로하는 워터 마크를 싶습니다 그래서 같이 setpagedevice와 함께이 일을하고있다). 이제는 다른 좌표 (예 : 합법, 문자 등)로 다른 file_to_watermark.ps가 사용되면 마크를 중심에 두지 않는 특정 좌표를 기반으로 워터 마크를 배치합니다. 현재 file_to_watermark.ps의 페이지 크기를 검색하고 미리 정의 된 좌표가 아닌 워터 마크를 센터링 할 수 있습니까? 스택의 폭 (포인트) 높이를 반환

currentpagedevice /PageSize get 

:

답변

1

당신은 pagedevice 사전에서 현재 용지 크기를 추출 할 수 있습니다. 그런 다음 stringwidth 연산자를 사용하여 인쇄 할 때 주어진 문자열이 차지하는 공간을 계산할 수 있습니다. 수직 높이를 얻는 간단한 방법은 없지만 포인트 크기는 라틴 글꼴의 경우만큼 좋은 가이드입니다.

페이지 너비에서 문자열 너비를 뺀 다음 2로 나누면 Y 좌표와 마찬가지로 충분히 양호해야합니다.

initclip clippath flattenpath pathbbox 
+0

나는이 시도 감사를주지 : 대신 MediaSize 초기 클립을 사용하여 실제 프린터의

때로는 더 나은 내기이다! – justbrown