私は外部アプリケーションで使用するために "GS Wrapper"(9.20 SDKを使用)を使っています。 A0 SheetをA1、A2、A3にスケールダウンしてもうまく動作します。 (PDFからPSへ、次に印刷)GhostScript(PostScript):A *からA4にスケールダウンする際のプリンタの境界線。
問題:入力フォーマットをA4に縮小すると、用紙の端から5mmずつ黒い境界線を描いた技術的な図が印刷されます。
- A4(〜A4)をもう一度約95%縮小して画像を中央に置く機会はありますか?スケーリングするため
私は次のパラメータを使用します(これは、小さいベースイメージにつながるべきである、離れて、その後シート国境から〜約10mmのブラックボーダーと言う):
GhostArg[0] = "-dNOPAUSE";
GhostArg[1] = "-dBATCH";
GhostArg[2] = "-dSAFER";
GhostArg[3] = "-dNOPAUSE";
GhostArg[4] = "-g2480x3508";
GhostArg[5] = "-dPDFFitPage";
GhostArg[6] = "-r300x300";
GhostArg[7] = "-sDEVICE=ps2write";
GhostArg[8] = Output;
GhostArg[9] = Input;
ソリューションの更新:
私は挿入することによって、この問題を解決するために管理[8]およびArg [9] Argの間のこの3行:
GhostArg[9] = "-c";
GhostArg[10] = "<< /BeginPage { 0.99 0.99 scale 10 10 translate } >> setpagedevice";
GhostArg[11] = "-f";
/BeginPageヒントのKenSのおかげです。
私は '-c'と' -f'スイッチを使って/ BeginPage(..)を追加しようとしましたが、これはもう出力されません。なぜなら、私は同時にPDFFitPageで使うことができないのでしょうか? 元のSourceCodeを変更せず、ライブラリとして使用するだけで、管理されたコンテキストで使用できます。つまり、コードを再配布する必要はありませんか? Howewer、私は毎回最終的な出力の解像度を知っていますが、私は自分のコードを-g * x *から-dDEVICE *に変更すると思います。 – Essigwurst
ライブラリ(おそらくDLL)を使用している場合は、理解しているようにAGPLに準拠する必要があります。なぜなら、使用している 'ライブラリ'を別のライブラリに置き換える必要があるからです。これは、APIが変更された可能性があることを意味します。その場合、ソースを変更できる必要があります。そのため、コードをAGPLする必要があります。もちろん、私は弁護士ではない、あなたの解釈は異なるかもしれません。 BeginPageを-dFitPageと一緒に使うことができるはずですが、(私が言ったように)試したことはありません。/BeginPageの代わりに/ Installを使用してみることもできます。私は後で試してみる。 – KenS
ええ、私はこのAPIを使用しています:https://ghostscript.com/doc/9.02/API.htm。ちょうどGoogleを使用することから、私は個人的な使用のためにライブラリを使用しているので、私はそれを再配布することがわかりません。ファイルを作成し、独自のDLLを使ってメソッドをエクスポートしてください。 PSを作成するときにGSがシートの「ピース」を使用せずに、FitPageとの両方で試しました。私は私の解決策で質問を更新しました。スケールと翻訳コマンドは私のためにそれをしました。 – Essigwurst