1

PDF から pcl ストリームを構築するために利用できるツール/方法。

1 つの大きな pdf に結び付けられる大量の生成された PDF ファイルがあります。これを印刷するには、ページごとに pcl エスケープ シーケンス (給紙と出力ビンのスタックを制御するため) を挿入する機能を備えた印刷ジョブを生成する必要があります。現在、VB.Net 印刷クラスを使用しており、サードパーティのツールを使用して PDF をラスタライズされた画像に変換して印刷しています。これでは、PCL シーケンスを印刷ジョブに挿入することはできません。

したがって、基本的には、一連の PDF を処理し、それらを pcl に追加して、PCL コマンドを挿入する必要があります。これを達成する方法はありますか。私たちのアプリケーションは VB.Net で書かれています。

どんな提案でも大歓迎です。

4

2 に答える 2

0

PCLTool SDK -PCLXForm.exeカスタム.TPTスクリプトを使用するオプション V は、Windows プリンター ドライバーから生成された複雑な PCL をストリーム編集できる唯一の製品です。

デモはwww.pagetech.comにあります。ただし、PCL および SDK ストリーム編集機能のエキスパート レベルの知識が必要なためです。PageTech はおそらく、お客様の要件に合わせてカスタム スクリプトを作成する必要があります。ASCII テキスト スクリプトは、PCL 印刷ストリームが変更された場合に編集可能になります。

血圧

于 2010-01-24T18:44:22.677 に答える
0

PCL と PDF は完全に異なる言語です。一方を他方に挿入することはできません。詳細がすべてわかっていれば、別のものをお勧めするかもしれません。ただし、あなたが説明したことに基づいて、Ghostscriptを使用して(ljet4またはその他のPCL出力「デバイス」を使用して)PDFドキュメントをPCLに変換することをお勧めします。その後、トレイを制御するために必要なPCLコマンドデータを追加/先頭に追加できますなど. 単にトレイの選択を一番上に挿入することはおそらくできないことに注意してください.PCL ストリームの適切な場所に移動し、E の後などにこれを行う必要があります.

これに関する 1 つの大きな欠点は、 Ghostscriptが作成する PCLが基本的にページごとに 1 つの大きなグラフィックであるため、まったく効率的ではなく、PCL でテキストなどを検索する機能が提供されないことです。

より具体的なものを推奨するのに役立つ可能性のある詳細を提供していないものには、次のものがあります。

  • XYZ デバイスで PDF を印刷し、特定のトレイに出力して出力するという最終的な目標は何ですか?
  • これを複数のドキュメントに「バースト」する必要がありますか?
  • ドキュメント全体でトレイの選択は変わりますか?
  • 原稿のサイズが混在していますか、それともすべて同じサイズの用紙ですか?
  • デバイスがサポートするその他の「言語」は何ですか? PS/PCL/PCL-XL/PDF/TIFF/HTML/JPG など...
  • PCL を使用する必要があるため、または使い慣れているため、PCL を使用しますか?

使用できるその他のオプションは次のとおりです。

  • PDF を PCL または Postscript に変換し、ジョブの開始時にそのプリンターに適した PJL コマンドを挿入します。
  • PDFドキュメントの先頭にPJLを挿入し(これは、プリンターがPDFをネイティブに印刷できることを前提としています)、そのままデバイスに送信します

編集:innocentDevとの議論に基づいてさらに詳細を追加

更新された応答が遅れて申し訳ありません。あなたの側で整理したようです。

最終結果が PDF ファイルを取得し、既知の場所にトレイ選択コマンドを挿入しながら印刷プリンターが理解できるものに変換することである場合、2 つの解決策があると思います。これは、PCL または Postscript への変換として実行できます。Postscript は、PCL が FF (フォームフィード) 制御コードを使用して各ページを分割し、FF 文字がフォント宣言および/またはグラフィック イメージ中にページ全体に表示される可能性があるため、簡単な場合があります。

個別にページを分割するか、追加の作業を行って FF が実際にはページ区切りであり、文字の他のインスタンスの 1 つではないことを確認するか、他の要素を見つけることで、FF のドキュメントの区切りを管理する場合中断することができます(Ghostscriptには、各ページの先頭に一貫した他のコードがある場合がありますが、100%確信はありません)。もう 1 つの方法は、Ghostscriptまたはpdftkを使用してドキュメントをページに分割し、各ページを PCL に変換し、コマンドを挿入してページを連結することです。ただし、PDF から PCL への変換に関する私の以前のコメントに基づいて、非常に大きな出力ファイルになる可能性があります。これは、デバイスの印刷パフォーマンスには影響しませんが、データ転送などが遅くなる可能性があります。

PCL ルートを使用する場合は、変換が完了したら、ドキュメントの各ページの先頭に、トレイ選択用の適切な PCL コマンドを追加するだけです。

<esc>&lxH where x is the tray number.  

これにはいくつかの基準があります。ただし、3 つ以上のトレイを備えたデバイスはこれらの標準に準拠していないことが多く、HP が多目的トレイを多目的フィーダーからトレイ 1 に再マッピングすることを決定したときに番号を変更したため、時間の経過とともに少し変更されました。デバイスのドキュメントを確認するか、インストールしてください。それらの PCL プリンター ドライバーと、出力先のトレイへのファイルへの印刷を行うと、使用する番号を確認できます。

Postscript を使用する場合も同じことができますが、次のようなドキュメント (または少なくとも検索) コマンドを分割できるため、ページを分割する方が簡単な場合があります。

%%Page: x x
%%BeginPageSetup

これらは、 Ghostscriptからの Postscript 出力に常に表示されます。それらを見つけたら、ページ設定中に Postscript MediaSource コマンドを挿入して、同じことを行うことができます。メディアの種類や色に Postscript コマンドを使用することもできます。これにはいくつかの一般的なコマンドがありますが、出力先のデバイスに固有のものを使用する必要がある場合があります。デバイスのドキュメント、PPD ファイルをいつでも確認できます。または、私がよく行うことは、ドライバーから何かをファイルに出力して、コーディングの実装方法を確認することです。

于 2009-08-10T12:07:00.277 に答える