問題タブ [wordprocessingml]
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.
c# - xmlDocument を使用してドキュメントの特定の属性が存在するかどうかを確認する方法
そのため、ドキュメントに特定の属性があるかどうかを確認しようとしています。たとえば、修士論文のサンプルがあり、チェックしなければならないことの 1 つは、タイトルがタイトル ページの中央に配置されているかどうかです。ここまでで、docx ファイルの xmlDocument オブジェクトを作成して、その Xml にアクセスできるようにしました。そのためのコードは
私の質問は: ドキュメントの xml にアクセスし、探している属性がドキュメントに含まれているかどうかを確認する最も効率的な方法は何ですか? xml を文字列に変換して正規表現を使用するか、それともより効率的な方法を実行するか? 私のコードはC#です。どんな助けでも大歓迎です。
xml - XSLT スタイルシートを使用して Docbook XML リストを WordML に変換する
WordML に変換したい次の XML があります。
これは、これまでの私の XSLT 1.0 スタイルシート テンプレートです。
でもこれは
- ネストされたリストでは機能しません。
- リストの ID ("position()") は、順序付きリストのすべてのリスト項目で同じでなければなりません。
誰でも私を助けることができますか?特にネストされたリストの部分では。
参照: http://xsltransform.net/jyH9rN8
期待される出力:
ms-word - 箇条書きの OpenXml リスト段落をコンテンツ コントロールに追加するにはどうすればよいですか?
Word 2013 .docx を openxml コードで開いたテンプレートとして使用すると、コンテンツ コントロールが入力され、保存されてユーザーにダウンロードされ、その部分が正常に機能します。
1 つのコンテンツ コントロールの目標は、箇条書きリストを追加することです。この問題は、メソッドから生成された新しい段落を追加または置換しようとすると発生します。このメソッドは正常に動作します。変数を送信すると、箇条書きの段落が返されます。挿入しますが、doc という単語が壊れます。
以下に示すのは、template.docx (上) と results.docx (下) です。下の段落のみが異なります。multiline=1 の後、空白領域があります。残りは同じです。run 要素を削除して保存し、試してみると、単語 doc を開いてそこにフォーマットされた箇条書きリストが表示され、その部分が「機能する」ようになりますが、エラーは何ですか?
単語ドキュメント:
および生成されたファイル:
そして、実行されるコード、単語 doc には、タグ名として custMilestones と呼ばれるリッチテキスト コンテンツ コントロール* (リッチテキスト cc でセットアップされた) があり、コンテンツ コントロールに 1 つのスペースがある場合、コードはオブジェクト参照未設定例外をスローします。
2015 年 7 月 30 日を編集して、結果の xml で奇妙なスタイルの結果を作成します。
c# - OpenXML C#: ワープロで単語の色を変更する
単語の色を変更したい。runproperties に色を追加していますが、単一の単語の色を変更する代わりに、行全体の色を変更します。コードを参照してください。
c# - 複数の Word 文書のスタイルを 1 つの Open Xml にマージする
現在、3 つのドキュメントを 1 つの新しいドキュメントにマージするプロジェクトに取り組んでいます。それらを追加するために、ドキュメントを含める AltChunk メソッドを作成しています。
私の質問は、3 つの間のスタイリングに矛盾があるということです。つまり、下に赤いテキストがあるテーブルを保存するということです。ただし、3 つがマージされて新しいドキュメントになると、そのドキュメントのスタイルはプレーンな黒のテキストにリセットされます。3 つすべてのスタイルをこの新しいドキュメントにマージする方法はありますか?
以下は、ドキュメントをマージする方法のコードです (これまでのところすべて問題ないため、上部は示していません)。
どんな助けでも大歓迎です。ありがとう。
編集: PowerTools から DocumentBuilder を使用するように変更しましたが、それでもスタイルのマージの問題は解決しません。任意の提案をいただければ幸いです。
c# - WordProcessingDocument を使用しているときに XMLSchemaReference を削除するにはどうすればよいですか?
Word 文書から XMLSchemaReference を削除したいと考えています。VBA コードを実行する場合、これは簡単です。
VSTO で ThisDocument クラスを使用する場合、これも C# で簡単です。
ただし、(通常の Windows アプリケーションで) WordProcessingDocument のインスタンスを使用する場合、同じアクションを実行する方法がわかりません。C# コードをどのように記述すればよいでしょうか?
c# - 有効な ServerDocument インスタンスを作成するときに XmlException を防ぐ方法は?
次のコードがあります。
documentPath は有効なパスであり、ドキュメントは vsto アプリケーションを使用することに注意してください。Word でうまく開き、vsto 拡張機能を問題なく使用できます。
上記のコード行は例外をスローします。
ルート要素がありません。
System.Xml.XmlTextReaderImpl.Throw(Exception e) で System.Xml.XmlTextReaderImpl.ParseDocumentContent() で System.Xml.XmlTextReaderImpl.Read() で System.Xml.XmlLoader.Load(XmlDocument doc、XmlReader リーダー、ブール値の preserveWhitespace) System.Xml.XmlDocument.Load(XmlReader リーダー) で System.Xml.XmlDocument.LoadXml(String xml) で Microsoft.Office.Tools.OfficeOpenXmlAppInfoDocument.ServerAppInfo.TryGetManifestInfo(PackagePart 部分、ManifestType& 型、String& xml) で Microsoft.Office .Tools.OfficeOpenXmlAppInfoDocument.ServerAppInfo.EnsureMaps() at Microsoft.Office.Tools.OfficeOpenXmlAppInfoDocument.ServerAppInfo..ctor (パッケージ パッケージ) at Microsoft.Office.Tools.OfficeOpenXmlAppInfoDocument.EnsureAppInfo()
Microsoft.Office.Tools.OfficeOpenXmlAppInfoDocument.Microsoft.VisualStudio.Tools.Applications.Runtime.IAppInfo.ReadItem (文字列型、文字列 ID) で Microsoft.VisualStudio.Tools.Applications.AppInfo.GetDeploymentManifestUrl (IAppInfo appInfo) で Microsoft.VisualStudio。 Tools.Applications.ServerDocument.Initialize(Byte[] バイト、文字列 documentPathOrFileType、FileAccess アクセス、Boolean throwOnPreviousVersion) Microsoft.VisualStudio.Tools.Applications.ServerDocument.Initialize(Byte[] バイト、文字列 documentPathOrFileType、FileAccess アクセス) Microsoft.VisualStudio .Tools.Applications.ServerDocument..ctor(String documentPath) at ConsoleApplication12.Program.Main(String[] args)
この問題を防ぐには?
c# - OpenXml ドキュメントの保存による InvalidDataException
私のコードは、docx ドキュメントを作成し、複数のドキュメントからパーツを取得して 1 つにマージすることを目的としています。
コードは抜粋のみで、docx
Office 2013 で作成した場合は正常に動作しますが、ドキュメントがdoc
Office 2013 で docx として保存された (古いバージョンの Office で作成された)場合は失敗しますtargetDoc.MainDocumentPart.Document.Save()
。実行すると、次のエラーが発生します。
どういう意味ですか?どうすれば解決できますか?