C#でXPSドキュメントをフォームに入力する方法はありますか?
5 に答える
それは理想的な解決策ではありません。その理由は、XPSのテキストはグリフで表され、Unicodeのような便利なものではなく、文字(大まかに言えば)が特定の書体の文字形状のテーブルへのインデックスとして指定されるためです。またGlyphs
、各文字を文字列の原点からオフセットして、特別に配置する必要があります。文字列を複数の行に折り返す必要がある場合は、すべて個別に配置された多数の個別Glyphs
のオブジェクトを配置することによって行う必要があります。これは論理的な形式ではなく、物理的な形式であり、生成後に変更することは特に容易ではありません。
テンプレートドキュメントをFlowDocumentとして定義する方がはるかに良いでしょう。これは、物理的な「凍結」形式ではなく、はるかに論理的に操作可能な形式です。(XPSドキュメントは技術的にはFixedDocumentです)。次に、をにフリーズして、入力が完了したらXPSとしてエクスポートできFlowDocument
ますFixedDocument
。
XPSフォームに入力する場合は、はい。XPSはXMLであるため、変更できます。
XPS を変更することは確かに可能です。これをどのように機能させたいか、および実行するプログラミングの量に少し依存します (ただし、これはすべてのプログラミングの問題に当てはまる可能性があります ;-))。
とにかく、気軽に info-at-nixps-dot-com に直接メールを送ってください。