.docxファイルをプレーンテキストに変換し、改行を維持してソース文書への行番号参照を維持します。これはどのようにして何を意味しますか?

.docxファイルをプレーンテキストに変換し、改行を維持してソース文書への行番号参照を維持します。これはどのようにして何を意味しますか?

MSを輸出しています。言葉コンテンツは、テキストおよびファイルユーティリティで使用できるようにプレーンテキストに変換されます。制約があります。行番号この機能はMSソフトウェアで有効になり、最終出力の行番号への参照は〜しなければならないその数字を一致させてください。したがって、「番号付きの行」を入力してください。

ここに画像の説明を入力してください。エドガー・アランフォー)

明らかに言葉、これらの数字は次回に改行されません。新しいチーム、以後「ライン」が切れます。右マージン(または他のもの)。このようなスクリプトdocx2txt、デフォルトはこれを考慮せずに改行文字でラップするようです。したがって、番号付けを使用すると、grep -n上記のように行がソース行番号機能と一致しません。この場合、必要な方法でファイルを変換するためにPerlスクリプトをどのように編集する必要があるかは、ドキュメントには不明です。

our $config_newLine = "\n"; # Alternative is "\r\n".
our $config_lineWidth = 80; # Line width, used for short line justification.

\n交換しようとしましたが、\r\n私には効果がないようです。だから私は直接行く言葉次の設定を使用して(別名で保存プレーンテキスト、v.2013、64pc関連):

  • Unicode(UTF-8)
  • 改行 + 末尾行を挿入するには (CR/LF) を使用します。
  • 文字置換を許可

今本当に私の考えがあります。使用ファイル.txtのソース番号付け機能と出力の行番号が完全に一致しますgrep -n


  • 私が知る必要がある特定の設定/プロセスdocx2txtまたは私のコンピュータを変換するための同様のコマンドラインユーティリティはありますか?.docx改行を維持しながらファイルをプレーンテキストに変換します。言葉私のように?
  • 何ですかベストプラクティス、存在する場合はMSをエクスポートするために使用されます言葉ドキュメント(アクセント文字を含めることができます)は、改行と書式設定に関してファイル/テキストユーティリティで使用できるようにプレーンテキストに変換されます。選択したエクスポート設定(CR / LFの挿入など)に悪影響がありますか?

サンプル

提案通りにサンプルを提供した。このrarでファイル、私は束に縛られました。.docx単純な段落とそのエクスポートを含むファイル。 txt上記のオプションを含むWordファイルを使用してください。後者はdocx2txtソースファイルのデフォルト実行と比較できます。

ベストアンサー1

docx2txtdocxXMLファイルの圧縮セットであるファイルの情報を処理します。

改行の場合、.docxXMLデータにはソフトブレーキではなく、段落とハードブレーキに関する情報のみが含まれます。ソフトブレーキは、特定のフォント、フォントサイズ、ページ幅でテキストをレンダリングした結果です。docx2txt通常、フォントとフォントサイズに関係なく、テキストを80列(80列構成可能)に合わせようとします。.docxUnix/Linux で利用できない Windows システムのフォント情報が含まれている場合は、.txtOpen/LibreOffice エクスポートで同じレイアウトを取得することはできませんが、良い操作を実行しようとしています。

したがって、docx2txtコマンドラインベースのOpen / LibreOffice処理を含む他のコマンドラインユーティリティは、いいえWord² から書き出すときと同じレイアウトでテキスト変換が保証されます。

Wordとまったく同じ方法でレンダリングしたい場合(またはクライアントによって強制的にレンダリングされる場合)、私の経験上唯一の方法は、Wordにレンダリングを実行させることです。同様の問題が発生し、別のツール(OpenOfficeを含む)を使用して互換性のない結果が得られたときに、ホストLinuxサーバーにWindows VMをインストールする方法に戻りました。クライアント仮想マシンでは、プログラムは変換する着信ファイルがあるかどうかをホストを監視し、ホストは変換を実行するためにWordを起動して駆動し、結果を再コピーします⁴。

CR / LFを使用するか、LFのみを使用するか、UTF-8または他のエンコーディングを使用するかを決定することは、.txt結果ファイルがどのように使用されるかによって大きく異なります。生成されたファイルがWindowsで使用されている場合は、必ずCR / LF、UTF-8、およびUTF-8 BOM。 Linuxの最新プログラムはファイルがUTF-8であると推測できますが、BOMを拒否したり、その情報を使用したりすることはありません。事前に知られている場合は、すべてのターゲットアプリケーションの互換性をテストする必要があります。

1これらの非互換性は、私の友人の一部がWindowsからLinuxに切り替えたくても切り替えることができない主な理由です。 Open/LibreOffice は、時にはクライアントと交換するテキストを破損するため、Microsoft Word を使用する必要があります。
²Wordファイルに使用されているすべてのフォントをインストールすることができます。3Render PDF
from ⁴このプログラムは、誰かがメニューをクリックしたかのようにGUIオートメーションを使用し、APIを介してWordを駆動しようとしません。後者も可能であると確信しており、Wordがアップグレードされても問題が発生しないという利点があります。.doc/.docx

おすすめ記事