2009-08-07 4 views
4

Java 응용 프로그램에서 결국 PCL로 변환하고 RightFax 서버로 보내야하는 PDF 파일이 있습니다. 또한 RightFax가 팩스를 보낼 위치를 알기 위해 읽을 PCL 파일에 코드를 삽입해야합니다.PDF to PCL 변환

이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

온라인 검색에서는 Java의 StreamPrintService를 사용하여 PDF 파일을 PCL로 인쇄 할 수있는 것 같습니다. 이 올바른지? PCL을 해석 할 수있는 프린터를 내 OS에 설치 했어야한다는 의미입니까?

일단 PCL 파일이 생성되면 파일에 포함 된 코드를 추가해야합니다. 파일의 끝에 코드를 추가합니까 (Java로 열고 코드를 작성하여 코드를 추가합니까?).

답변

4

단순 솔루션 IMHO는 PDF를 RightFax 서버의 폴더에 놓는 것입니다. 그런 다음 임베디드 코드 또는 FCL (팩스 명령 언어)을 사용하여 문서를 보낼 사람에 대한 모든 지침이 포함 된 작은 텍스트 파일을 작성하십시오. 우리는 항상이 작업을 수행하며 훌륭하게 작동합니다. 참고 : 팩스 명령 언어는 통합 모듈이있는 경우에만 사용할 수 있습니다. 임베디드 코드와 FCL에는 각각 파일을 첨부하는 명령이 있습니다. RightFax가이 텍스트 파일을 수신하면 명령을 처리하고 PDF 및 팩스를 첨부하거나 전자 메일로 전자 메일을 보냅니다. 다음은 두 가지 예입니다 (하나는 Embedded 및 하나의 FCL).

임베디드 코드 파일 :

<TOFAXNUM:999999999> 
<TONAME:Douglas Anderson> 
<BILLINFO1:12345> 
<NOCOVER> 
<WHO:DOUG> 
<ADDDOC2: C:\pdfFiles\12345.pcl> 

FCL 코드 파일 :

{{begin}} 
{{fax 999999999}} 
{{contact Douglas Anderson}} 
{{billinfo1 12346}} 
{{nocover}} 
{{attach C:\pdfFiles\12345.pcl delete}} 
{{imagetype pdf}} 
{{end}} 

처리하고 사용자가 지정한 문서를 삽입하도록 메시지를 표시합니다 RightFax이 간단한 텍스트 파일 전송. RightFax에게 보내진 파일을 삭제하기 위해 RightFax에 명령하는 중요한 ADDDOC 명령과 전환이 있습니다.

HPFAX 대기열을 통해 삽입 코드 파일을 전송할 수 있으며 FCL을 프로덕션 수신함을 통해 보낼 수 있습니다 (c : \ program files \ rightfax \ production \ inbox).

이렇게하면 많은 제어가 가능하며 볼 수있는 PDF가 여전히 남아 있으므로 문제를 쉽게 해결할 수 있습니다 (텍스트를 시작 부분에 붙여 넣지 않았기 때문에). 코드 또는 FCL 파일을 메모장과 같은 간단한 도구로 보거나 수정하기 위해 대체 폴더에 저장하십시오.


편집 : OpenSource 다음은 함께 파일을 연결 할 수있는 정확한지, 나는 오랜 시간 (끝 예 참조) 임베디드 코드로 이런 짓을하지 않은하지만 당신이있는 경우 (FCL과 비슷한 짓을 Ingetration Module에서이 작업을 수행 할 수 있습니다).

FCL와 (RightFax는 PS 및 PDF 취급) 데이터에 포함 된 PDF 또는 PostScript : {{시작}} {{팩스 999,999,999}} {{문의 더글라스 앤더슨}} {{billinfo1 12,346}} { {nocover}} {{beginpostscript}} % PDF-1.3 ... ... 당신의 PDF ... {{endpostscript}} {{말}}

PCL이 변형은 다음과 같습니다 :

{{begin}} 
{{fax 999999999}} 
{{contact Douglas Anderson}} 
{{billinfo1 12346}} 
{{nocover}} 
{{beginpcl}} 
...your pcl data... 
{{endpcl}} 
{{end}} 
(우리는 오래 전에했던 일에서 내 노트에 따라) 임베디드 코드와

거짓 첫 페이지 :

<TOFAXNUM:999999999> 
<TONAME:Douglas Anderson> 
<BILLINFO1:12345> 
<NOCOVER> 
<WHO:DOUG> 
<DELETEFIRSTPAGE> 
*PCL formfeed character* 
...your pcl data... 

당신은 '첫 페이지'에 나타납니다 보내하지만이 삭제됩니다 뭐든간에. 다른 옵션은 Formfeed 다음에이 데이터를 문서 끝으로 보내고 <DELETELASTPAGE> 옵션을 사용하는 것입니다. 이 데이터는 PCL 파일 자체와 함께 인라인으로 표시 될 수도 있으므로 <DELETEFIRSTPAGE> 명령과 formfeed 스플리터가 없으면 작업을 시작할 때이 데이터를 보낼 수 있습니다.

+0

정확하게 이해했는지 확인하려면 : 첨부 된 코드 파일을 사용하여 첨부 된 PCL 파일은 RightFax 서버에서 액세스 할 수있는 위치에 있어야합니다. 맞습니까? 이것이 가능하지 않다면 유일한 옵션은 HPFAX 대기열을 통해 내장 코드가있는 PCL 파일을 보내는 것입니다. – Khandelwal

+0

접근이 가능해야합니다. 그러나 PCL이어야합니다. PDF 또는 RightFax가 입력을 지원하는 다른 유형 (TIF, JPG, Word 등) 일 수 있습니다. 파일을 서버에 쓸 수 없으면 RightFax에서 액세스 할 수있는 공유를 통해 파일에 액세스 할 수 있습니다. 'OpenSource'는이 데이터를 파일의 맨 위에 보낼 수도 있음을 나타내므로 올바른 용어는 'false first page'입니다. 우리는 Embedded Codes로 이것을하지는 않지만 Postscript, PCL 및 PDF와 비슷한 것을 수행했습니다. –

+0

덧붙여 말하자면 : 우리는 임베디드 코드를 사용하지 않고 Postscript, PCL 및 PDF 문서와 유사한 FCL을 작성했습니다 –

0

JPS를 사용하면 파일로 인쇄 할 수 있으므로 PCL 프린터로 파일로 인쇄하면됩니다.

-1

인쇄물에 인쇄하는 것이 올바른 접근 방법 인 것 같습니다.

2

우리는 매우 유사한 프로세스를 가지고 있습니다. 우리가하는 일은 pcl 파일과 제어 파일 (rightfax 명령이있는 텍스트 파일)입니다. java NIO를 사용하여이 두 파일을 연결하고 rightfax 인쇄 대기열로 전송합니다. 우리는 기본적으로 새로운 파일을 생성하고 stream.getChannel()에 의해 확보 된 채널에 transferFrom() 메소드를 사용하여 새로운 파일에 위의 두 파일을 작성합니다. 앞서 언급 한 것처럼 맨 아래쪽에 제어 명령을 맨 위에 넣었습니까? 당신이 그것을 misstated 수 있습니다 - 나는 Rightfax 상단에 필요하다고 생각. 나는 그것이 바닥에 그것을 보내려고하지 않았다는 것을 인정해야한다. 그것은 잘 모른다.

+0

명령이 하단에 있음을 나타내려는 의도가 아니 었습니다. 시도하지 않았습니다. – Khandelwal