問題タブ [xps]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
175 参照

xaml - XAML の印刷 - フォントが見つからない問題

重複の可能性:
Windows サービスからの Xps 印刷

XAML ドキュメントで参照されるカスタム .TTF フォントがあります。

元:

  1. IE で xaml ドキュメントを表示すると、フォントは問題なく表示されます
  2. xaml を .xps ファイルに出力すると、IE で .xps ドキュメントを表示したときにフォントが正常にレンダリングされます。
  3. xaml ドキュメントを通常のプリンターで印刷しようとすると、フォントがレンダリングされず、代わりにデフォルトのフェイスが使用されます。
  4. .xps ドキュメントを通常のプリンターで印刷しようとすると、フォントがレンダリングされず、代わりにデフォルトのフェイスが使用されます

フォントをリソースとして埋め込もうとしました。XAML と xaml のコード ビハインドの両方でフォント ファイルを直接参照しようとしました。

プレーンな html ファイルを取得し、フォントを参照して通常のプリンターで印刷すると、問題なくレンダリングされます。

このカスタム フォントをこの XAML ドキュメントで正しく印刷するにはどうすればよいですか?

0 投票する
0 に答える
864 参照

.net - Print Ticket を含む XPS ドキュメントが正しく印刷されない

.Net で作成された XPS ファイルを、いくつかの異なるメーカーのプリンターで印刷しようとしています。

XPS を作成し、ドキュメント レベルの印刷チケットと共に PrintDialog を介して印刷するコードをいくつか書きましたが、これは正しく機能します。ただし、作成するドキュメントは次のようにレイアウトする必要があります。

  • 1ページ目と2ページ目を両面印刷
  • 3ページと4ページを片面印刷
  • 文書全体をステープル留めする必要があります。

現時点では、すべてのページを含む XPS ファイルを作成できます。ただし、プリンターは個々のページ レベルの印刷チケットを無視するため、すべてのページ (3 と 4 の後の空白ページ) を両面印刷する必要があります。

私がやりたいことは、両面印刷を指定する独自の印刷チケットを持つ 2 つの個別のドキュメントを作成し、これらを出力をステープルするドキュメント レベルの印刷チケットを含む別の XPS ドキュメントに結合することです。

このドキュメントを作成することはできますが、プリンターはドキュメントの印刷チケットを無視し、すべてのページを印刷するだけです。

現在テストしているプリンターは、HP CM4730 MFP と京セラ FS-2020D です。

これを解決するアイデア/コード例はありますか?

0 投票する
1 に答える
3010 参照

.net - MSWordドキュメントをXPSドキュメントに変換するための.NETライブラリ

Microsoft WordドキュメントをXPSファイルに変換するサードパーティのライブラリを知っている人はいますか?

これはMSWordまたはWordの自動化を使用して可能であることは知っていますが、MSWordがインストールされているコンピューターに依存しない変換を行うためのライブラリが必要です。

APIを使用してコードで完全に変換を行う必要があります。変換プロセスでは、ユーザーの操作はありません。

ありがとう、クリス。

0 投票する
2 に答える
1213 参照

wpf - WPF コントロールに表示される XPS ファイルでハイパーリンクを使用できますか?

ソフトウェア アプリケーションのヘルプ システムを作成しようとしています。インターフェイスは WPF で記述されています。アプリケーションからアクセスしたい XPS ファイル (Word ドキュメントから生成されたもの) があります。XPS ファイルには、XPS ファイル内でリダイレクトするハイパーリンクが含まれています。DocumentViewer コントロールを使用してファイルを表示できますが、ハイパーリンクが機能しません。(XPS ビューアーで同じ XPS ファイルを表示すると、ハイパーリンクが機能します。) 私は WPF を初めて使用するので、何かを見落としている可能性がありますが、これを機能させるために 1 週​​間試してみましたが、道に沿って学んでいますが、目の前の仕事でどこにも行きません。助けていただければ幸いです。-デイブ

0 投票する
0 に答える
680 参照

wpf - レンダリングに OnLoaded を使用する UserControl の印刷

コードで作成している WPF UserControl を印刷しようとしています。投稿の最後にある DocumentPaginator 実装でこれを行っています。

私が抱えている問題は、DocumentPage クラスが UserControl で Loaded を呼び出していないため、コントロールが完全にレンダリングされないことです。私はコントロールの管理者ではないため、OnLoaded のコードをより適切な場所に移動することはできません。

コントロールで Loaded イベントを発生させる正しい方法は何ですか? コントロールがPresentationSourceにアタッチされている場合にのみイベントが発生することを認識していますが、画面にコンテンツを表示せずに印刷ジョブを送信しようとしています。Visibility=Hidden を使用してコントロールをどこかにレンダリングすることもできますが、それは安くてハックのように感じます。

0 投票する
3 に答える
14130 参照

windows - Windows: 印刷中に FormFeed を発行するようにプリンタに指示する方法は?

フォーム フィードを発行するようにプリンター ドライバーに指示する必要があります。

私は以下を使用してプリンターに直接印刷しています:

API 呼び出しのセット。

多くのインスピレーションはKB138594 - HOWTO: Send Raw Data to a Printer by Using the Win32 APIから得られました。その KB 記事で注意すべき重要な点は、彼ら (および私のコピーしたコード) が次のRAWモードでドキュメントを開始することです。

注: RAWモード (モードではなくTEXT) は、生のバイトをプリンタードライバーに発行していることを意味します。私たちは、それが理解できる言語で話すことを約束します。

WritePrinter次に、必要なものすべてを記述するために使用できます。

ここでの問題は0x0c改ページ文字です。モードでプリンターを開いたので、RAW処理できるプリンター ドライバーのバイトを送信することを約束します。ほとんどのプリンターのドライバーは0x0C、フォーム フィードを発行することを意味します。

問題は、他のプリンター ( PDF プリンターMicrosoft XPS プリンター) がRAW印刷ジョブを独自のプリンター言語で行うことを想定していることです。上記を使用して XPS または PDF プリンターに印刷する場合: 何も起こりません (つまり、保存ダイアログが表示されず、何も印刷されません)。

少し前にこの質問の解決策を尋ねたところRAW、ドキュメント モードを次のように変更する必要があるという回答がありました。

TEXT:

これはおそらく、「RAW」データをプリンターに直接送信するためであり、RAW は任意の PDL である可能性があります。ただし、XPS ドライバーはおそらく XPS しか認識せず、おそらく "unknown: Hello, world!0xFF" PDL を無視するだけです。XPS ドライバーは、おそらく、XPS データに直接書き込む場合にのみ受け入れます。

XPS ドライバーでテキストをレンダリングする場合は、GDI を使用する必要があります。データ型として「TEXT」を指定すると、プレーンテキストをドライバーに送信できる場合があります。ドライバーに接続されているプリント プロセッサは、GDI を介してドライバーにジョブをレンダリングすることにより、平文を「変換」します。

それでうまくいったので、印刷ドキュメントをTEXT次のように宣言するようにコードを変更しました。

その後、XPS および PDF プリンターの [名前を付けて保存] ダイアログが表示され、正しく保存されます。そして、私はすべてが修正されたと思いました。

数か月後、<quote>実際の</quote> プリンターに印刷しようとしたときを除いて、フォーム フィードが発生しません。おそらく、「生のプリンター コマンド」モードで印刷していないためです。

だから私が必要としているのは、フォーム フィードを発行するWindows 風の方法です。プリンタにフォーム フィードを実行させたいことをプリンタ ドライバに伝える API 呼び出しが必要です。

私の質問:印刷中に Form-Feed を発行するようにプリンタに指示するにはどうすればよいですか?


データ型の背景

プリント プロセッサは、ドキュメントのデータ型に従ってジョブを変更するようにスプーラに指示します。プリンタ ドライバと連携して、スプールされた印刷ジョブをハード ドライブからプリンタに送信します。

ソフトウェア ベンダーは、独自のプリント プロセッサを開発して、カスタム データ型をサポートすることがあります。通常、プリント プロセッサは管理者による設定や介入を必要としません。

データ型

Windows の印刷プロセスでは、通常、5 つのデータ型がサポートされています。拡張メタファイル (EMF) と印刷準備完了 (RAW) という、最も一般的に使用される 2 つのデータ型は、クライアント コンピューターとプリント サーバー コンピューターの両方で、さまざまな方法でパフォーマンスに影響を与えます。

RAWWindows ベースのプログラム以外のクライアントの既定のデータ型です。RAW データ型は、印刷前に印刷ジョブをまったく変更しないようにスプーラーに指示します。このデータ型では、印刷ジョブを準備するプロセス全体がクライアント コンピュータで実行されます。

EMF、または拡張メタファイルは、ほとんどの Windows ベースのプログラムで既定のデータ型です。EMF を使用すると、印刷されたドキュメントは、RAW ファイルよりも移植性が高く、通常はどのプリンターでも印刷できるメタファイル形式に変更されます。EMF ファイルは、同じ印刷ジョブを含む RAW ファイルよりも小さくなる傾向があります。パフォーマンスに関しては、印刷ジョブの最初の部分のみがクライアント コンピューター上で変更またはレンダリングされますが、ほとんどの影響はプリント サーバー コンピューター上にあるため、クライアント コンピューター上のアプリケーションがより迅速にユーザーに制御を返すのにも役立ちます。

次の表 ( MSDN から取得) は、既定の Windows プリント プロセッサでサポートされている 5 つの異なるデータ型を示しています。

データ型:RAW
スプーラへの指示: ドキュメントをそのまま印刷します。
使用: これは、Windows に基づいていないすべてのクライアントのデータ型です。

データ型:RAW [FF appended]
スプーラへの指示: フォーム フィード文字 (0x0C) を追加しますが、それ以外は変更しません。(後続の用紙送りがない場合、PCL プリンターはドキュメントの最後のページを省略します。)
用途: 一部のアプリケーションで必要です。Windows では割り当てられませんが、[プリント プロセッサ] ダイアログ ボックスでデフォルトとして設定できます。

データ型:RAW [FF auto]
スプーラへの指示: 後続のフォーム フィードを確認し、まだ存在しない場合は追加しますが、他の変更は行いません。
用途: 一部のアプリケーションで必要です。Windows では割り当てられませんが、[プリント プロセッサ] ダイアログ ボックスでデフォルトとして設定できます。

データの種類:NT EMF 1.00x
スプーラへの指示 : ドキュメントを、プリンタ ドライバが出力する RAW データではなく、拡張メタファイル (EMF) として扱います。
用途: EMF ドキュメントは Windows によって作成されます。

データ型:TEXT
スプーラへの指示: ジョブ全体を ANSI テキストとして扱い、印刷デバイスの工場出荷時のデフォルトを使用して印刷仕様を追加します。 Use : これは、印刷ジョブが単純なテキストであり、対象の印刷デバイスが単純なテキストを解釈できない場合に役立ちます。

コントロール パネルのプリンタのプロパティを使用して、プリンタで使用できるプリント プロセッサと、各プロセッサがサポートするデータ タイプを確認できます。

代替テキスト

こちらもご覧ください

0 投票する
1 に答える
587 参照

wpf - WPF で不正な形式の URI を含む XPS ドキュメントを表示する

DocumentViewer (より具体的には、DocumentViewer の DocumentPageView) を使用して、Powerpoint から XPS として保存されたプレゼンテーションを読み込もうとしています。

しかし、スライドの作成者は巧妙で、URL の 1 つを疑似正規表現 (例: http://[blog|www]mywebsite.com) として入力しました。組み込みの XPS ビューアーは、問題なくドキュメントを読み込むことができます。ただし、DocumentViewer は URI を検証しようとするため、例外をスローします。

もちろん、ドキュメントが表示されるように、スライドに入って URI を修正することもできます。ただし、アプリケーションで使用されるドキュメントを制御できないため、無効な URI (XPS Viewer など) にもかかわらずドキュメントを表示する方法を見つけたいと考えています。

何かご意見は?

0 投票する
2 に答える
3055 参照

wpf - WPF/XAML での CMYK カラーの使用

XAML ドキュメントでCMYKカラーを直接指定する方法はありますか?

# 文字を前に付けると RGB カラーが作成されますが、CMYK カラーを指定するにはどうすればよいですか?

いくつかのメモ:

  1. 問題は、CMYK から RGB への変換ではなく、実際の CMYK を使用することです
  2. 目的は、生成されたXPSドキュメント (たとえば System.Windows.Xps.Packaging を使用) が色を CMYK として認識し、カラー コードを "ContextColor /swopcmykprofile.icc a,b,c,d,e" ではなく "#" として生成できるようにすることです。あぁぁぁぁぁぁぁぁぁぁぁぁぁぁ」

ColorContext を使用して CMYK カラーを定義しようとしましたが、成功しませんでした。

0 投票する
1 に答える
1300 参照

c# - 私の印刷方法はXPSファイルを保存しますが、印刷されませんか?

私のコードは、実際に何かを印刷する代わりに、.xpsファイルを保存するsaveFileDialogになります。私のコードに何か問題がありますか?そうでない場合、このコードを機能させるようにマシンを構成するにはどうすればよいですか?

コード:

0 投票する
1 に答える
483 参照

.net - wpf から印刷された xps ドキュメント - 短すぎる、奇妙な用紙サイズですか?

xpsファイルに印刷するだけでwpfアプリケーションの印刷機能をテストしています.. . . . . . . . . . . . . . 予想外に、用紙サイズの設定がシステムに適している場合でも、8.5x11インチの用紙が奇妙な側面まで短くなり、ほぼ正方形に近づいているようです.これは私のレポートのレイアウトをかなりめちゃくちゃにしています.PDFに印刷された同じレポートは、物理的なプリンターに印刷されているだけでなく、うまく機能しているようです.

XPS の奇妙なバグや注意すべき点はありますか?