1

私たちのソフトウェアでは、プリンタ ドライバが C:\Windows\System32\spool\PRINTERS フォルダに書き込む SPL ファイルを PDF ファイルに変換できる必要があります。PCL 形式の SPL ファイルの場合、VeryPDF の pcltool.exe を使用してこの変換を実行します。これはほとんど問題なく動作します。しかし、プリンタードライバー「Canon iR-ADV C5235/5240 PCL6」で生成されたSPLファイルに問題が発生しています。例として、次の SPL ファイルは、「something」という単語を含む単一のページをメモ帳で印刷した結果です。

http://files.etvdzs.info/00025.spl

pcltool.exe を使用して 00025.spl を変換すると、70 ページの PDF が生成され、各ページの上部に文字化けの行が表示されます。他の PCL ビューアを使用して 00025.spl を開こうとすると、同様の結果が得られます。VeryPDF に問い合わせたところ、有効な PCL ファイルではないとのことでした。

このファイルの何が無効なのか、誰か教えてもらえますか? それを有効な PCL に変換したり、使用可能なデータを抽出したりする可能性はありますか?

ちなみに、プリンタードライバー「Canon iR-ADV C5235/5240 PS3」で生成された Postscript ファイルでも同様の問題が発生しました。ファイル内のさまざまな位置に、$CDCA10 で始まり $FFFF00000000000000001 で終わるバイナリ シーケンスがありました。これらのシーケンスを削除した後、ファイルを通常どおりに変換できました。「Canon iR-ADV C5235/5240 PCL6」で生成されたファイルに対して同様の解決策を試みましたが、残念ながら成功しませんでした。

編集 (2013 年 9 月 13 日): バイナリ シーケンスは CPCA コードのようです。次の URL で Canon Developer Support Program にサインアップすることで、CPCA に関するドキュメントを入手できました。

https://www.developersupport.canon.com/user/register

このドキュメントを読んだ後、スプール ファイルから CPCA コードを削除するプログラムを作成しました。これは、上記のファイル 00025.spl に対してプログラムを実行した結果です。

http://files.etvdzs.info/00025.cleaned.spl

残念ながら、これはまだ有効な PCL ファイルではないようです :-( このファイルの何が問題なのか誰か教えてもらえますか?有効な PCL に変換したり、使用可能なデータをそこから抽出したりする可能性はありますか?

PS私が書いたプログラムは、プリンタードライバー「Canon iR-ADV C5235/5240 PCL5c」と「Canon iR-ADV C5235/5240 PS3」によって生成されたスプールファイルをそれぞれ有効なPCLとPostscriptに正常に変換するので、そうは思わないプログラムが機能しないという単純な問題です。

4

1 に答える 1