ドキュメントの変換について人々を驚かせることは、ファイルに変換するページがないことです。 .docx は、紙のサイズに関する段落、スタイル、メモを保持します。画面に表示されるページは、開いた瞬間にレイアウトを実行することによって生成されます。 他のプログラムは、独自のフォントと独自の改行を使用して、そのレイアウトを再度実行する必要があります。そのため、2 つのコンバーターが 1 つのファイルから 2 つの異なるページ数を提供します。 1 つの事実を理解すると、出力のすべての驚きが説明されます。これには、追跡された削除がなくなったと考えていたものが PDF に表示されます。
tl;dr: .docx は、実際の構造を運ぶ XML の zip であるため、見出し、段落、およびリストは推測されるのではなく、正しく到着します。 届かないのは外観です。フォント、列、テーブル、タブ ストップ、番号付け、正確な間隔の一部を変換して、コンバーターが提供するワード プロセッサを実装する必要があります。 実際の入力で測定すると、追跡された削除が削除されるので、編集されたドキュメントが最終的な文言として読み取られ、番号付きのリストが箇条書きに戻り、表が読み順にセルになり、タブがスペースになります。 西ヨーロッパのテキストはレンダリングされます。キリル文字、ギリシャ語、CJK、および絵文字は、組み込みの PDF フォントが Winansi であるため、レンダリングされません。 ザ・ Word から PDF への変換 タイプ設定はブラウザで行います。
.docx の中身は何ですか?
XML パーツの zip で、そのうちの 1 つがここで重要なすべてを保持します。
アーカイブ ツールで任意の .docx を開くと、次のことがわかります。 word/document.xml マニフェスト、関係の部分、通常はスタイル、フォント、テーマ、番号付けの定義、設定を表します。 フォーマットは ECMA-376、マイクロソフト自身のもので 実装に関する注意事項 その上でどの言葉がするかをカバーします。
ドキュメントの部分は、 <w:p> 要素。 それぞれが段落であり、オプションのプロパティには、それが使用するスタイルとリストに属しているかどうかが示され、その中に実際のテキストを取り込む一連の実行が含まれています。 <w:t>。
これは、PDF が提供するものよりも優れています。 PDF では、線間の垂直ギャップから段落を推測する必要があります。 別の方向への変換 列と表を失います。 ここで段落は段落であり、ファイルがそうであるため、見出しは見出しスタイルを指定しているため、見出しは見出しです。
問題は、コンバーターが読み取らない部分にあります。
なぜ Word での結果が見たものにならないのですか?
ルックはワード プロセッサに相当する部分に分散されており、コンバーターが代わりにテキストをタイプ設定するためです。
テキストはドキュメント部分にあります。 テキストが 11 ポイントで 1.08 行の間隔でテキストが表示される理由 styles.xml。 あなたのリストが「1., 2., 3.」と表示される理由は、「A., B., C.」ではなく、 numbering.xml。 見出しの色を指定するテーマは、再び別の部分にあり、セクションごとのマージン、列、およびページ サイズを管理します。
すべてを称賛する Word のセマンティクスを使用してレイアウト エンジンを構築しています。 代わりに、このツールが行うことは、構造を読み取ってきれいにレイアウトすることです: テキストのローマ字、見出しの場合はローマン ボールド、56 ポイントのマージン、1.4 行の間隔、選択したページ サイズ。
したがって、出力は、オリジナルとは異なる、読みやすく、正しく順序付けられたドキュメントです。 この変換を探している人々は 2 つのグループに分類され、そのうちの 1 つだけが提供されるため、これは本当の制限であり、埋めるのではなく、はっきりと述べる価値があります。 テキストを誰でも開くことができる PDF として必要な場合は、これで問題ありません。 必要に応じて そのページ、フォントと間隔を備えた Word'独自のエクスポートのセクションを読み続けてください。
変換を生き残るものは何ですか?
構造と読み順を確実に。 これは、想定されるのではなく、コードに対して測定された完全なリストです。
| 要素 | 結果 |
|---|---|
| 段落 | 保存されている、ドキュメント順 |
| 見出し | 保存、レベル別のサイズ、太字に設定 |
| アイテムをリストする | テキストを保存し、マーカーを箇条書きに置き換え |
| テーブルセル | 読み順に別の段落として保存されます |
| 追跡された削除 | word が表示されるようにドロップ |
| タブと改行 | 単一の空間になる |
| 太字、斜体、色、フォント | 運ばれていない |
| 画像 | 運ばれていない |
| ヘッダー、フッター、ページ番号 | 運ばれていない |
| 脚注と文末脚注 | 運ばれていない |
その表の上半分は、この変換がまだやる価値がある理由です。何も推測する必要はありませんでした。 下半分は、Word を実装しないことの代償です。
追跡された変更はどうなりますか?
削除は消えますが、これは正しいことです。言う必要があるという事実は興味深い部分です。
変更追跡を使用して編集されたドキュメントは、削除されたテキストをファイル内に保持します <w:delText> 内に <w:del> 要素。 Word は、それを現在のテキストとして表示しないことを知っています。 すべてのテキスト ノードを歩くコンバーターは、誰かが考えない限り、そうではありません。
当初の「締め切りは 3 月 31 日」であり、「4 月 30 日」に編集された段落で測定されています。
with the rule: The deadline is 30 April.
without the rule: The deadline is 31 March30 April.
誰もが入力した、その文のすべてのバージョンは、それらの間にスペースを持たずに一緒に実行されます。 契約書やオファーレターでは、これは化粧品のバグではありません。PDF を受け取った人にドキュメントの交渉履歴を公開します。
どんなツールを使っても、それ自体のために知っておく価値があります。 変換されたドキュメントを外側に送信する場合は、変更した日付または図形が 2 回ではなく 1 回表示されることを確認してください。
番号付きリストはどうなりますか?
数字が段落にないので、それは一括で返されます。
リストの段落が持つ <w:numPr>、これは別の部分の番号定義を指します。 その定義は、フォーマット、開始値、インデント レベル、およびこのリストが前のリストを継続するかどうかを保持します。 段落自体にはテキストが含まれており、それ以外は何もありません。
したがって、ドキュメントの部分だけを読み取るコンバータは、段落がリスト項目であり、どのマーカーを持っている必要があるかを認識します。 箇条書きのレンダリングは、正直なデフォルトです。
• First point
• Second point
Ordinary paragraph
これは、数字が意味を持っている場合に重要です。 「手順 4 を参照してください」 手続き中の番号付き節、または契約の番号付き条項は、その参照を失います。 ドキュメントが番号に依存している場合、この変換は間違っています。Word のエクスポートは正しいものです。
テーブルはどうなる?
細胞は生き残りますが、グリッドは生き残りません。
表のセルには、 <w:p> 他の要素と同様に要素があり、テキストは通常の段落として読み順に到着します。 2 列の領域と図の表は、次のように出力されます。
Region | Q2 | EMEA | 412
4 つの段落が次々と記録され、最初の 2 つがヘッダー行であるという記録はありません。 テーブルを横切って運ぶということは、列幅、行構造、結合されたセルと境界線を運び、さらに大きなツールであるページを作成するグリッドを配置することを意味します。
これは、双方向で同じ取引です。 PDF から Word にすると、PDF に表がなかったため、表が平坦化されます。PDF から PDF を使用すると、表がフラット化されます。これを再構築するのはレイアウト エンジンであるため、PD どちらの場合も正直なアドバイス: テーブルがポイントであれば、スクリーンショットを撮るか、オリジナルのままにします。
タブに合わせたレイアウトがなぜ崩壊したのですか?
タブは位置指示であり、タブ ストップを使用しないと送信先はありません。
<w:tab/> 「次のタブ ストップへの前進」を意味し、ストップは段落のプロパティで定義されるか、そのスタイルから継承されます。 テキストを独自の余白でレイアウトしているコンバータには、ジャンプする意味のあるストップがないため、タブは 1 つのスペースになります。 同じことが <w:br/>:
input: Name <tab> Value <br> Next line
output: "Name Value Next line"
2 列のリスト、署名ブロック、またはタブ付きの単純な目次を作成した人は、完全に整列を失います。 これは、変換されたドキュメントが間違っているように見える方法の 1 つであり、ソースでは見えません。ファイルは通常の段落のように見えます。
整列が重要な場合、ソース ドキュメント内の実際のテーブルは、それ以上の変換はありませんが、少なくともそれは明らかに失敗します。
組み込みの PDF フォントでレンダリングできない文字は?
西ヨーロッパのラテン語以外のすべての場合、失敗は、どの性格についての責任について沈黙を守っていました。
PDF 規格は、すべてのリーダーが持つ 14 の基本フォントを定義し、それらは、付録 D に記載されている 256 文字のセットである WinAnsiEncoding でエンコードされています。 PDF仕様。 それらを使用すると、フォントを埋め込む必要がないため、出力を小さく保つことができます。これは、アルファベットが固定されていることを意味します。
でテスト済み PDF-lib、図面を行うライブラリ:
| テキスト | 結果 |
|---|---|
Quarterly report |
レンダリング |
"Revenue" rose, he'd said カーリー引用符付き |
レンダリング |
| em ダッシュを使用した文、u+2014 | レンダリング |
Chiffre d'affaires réalisé en Août |
レンダリング |
Total: €1,249.50 |
レンダリング |
Отчёт за квартал |
失敗: WinAnsi cannot encode "О" (0x041e) |
Αποτελέσματα |
失敗: WinAnsi cannot encode "Α" (0x0391) |
季度报告 |
失敗: WinAnsi cannot encode "季" (0x5b63) |
四半期報告 |
失敗: WinAnsi cannot encode "四" (0x56db) |
Revenue up 🚀 |
失敗: WinAnsi cannot encode "🚀" (0x1f680) |
フランス語、ドイツ語、スペイン語、ポルトガル語、イタリア語、北欧言語は、ユーロ記号、カーリー クォート、EM ダッシュと同様に問題ありません。 ロシア語、ギリシャ語、中国語、日本語、韓国語、アラビア語、ヘブライ語、ヒンディー語、およびすべての絵文字はそうではありません。
ツールは、「この文字を削除する」はアドバイスであり、「何かが間違っていた」はそうではないため、ドキュメントを変換できなかったと言うのではなく、エラーの中で文字の名前を付けました。 スクリプトの 1 つにあるドキュメントには、それをカバーするフォントを埋め込むコンバーターが必要です。つまり、より大きな PDF と別のツールを意味します。
.doc ファイルが拒否されるのはなぜですか?
.doc と .docx は異なる形式で、3 文字を共有するためです。
.docx は、2007 年に導入された XML の ZIP です。 .doc は、90 年代前半にさかのぼるレイアウトの複合バイナリ ファイルであり、パーサーが歩かなければならない構造間でインターリーブされたテキストを含む。 1 つを読むことは、もう一方の読み方の違いではなく、別の実装です。
そのため、コンバータは拡張子をチェックして、読み取り不能な zip で失敗するのではなく、そう言っています。
| ファイル | 何と言うの |
|---|---|
.doc |
それは古いフォーマットです。 それを開いて、最初に保存します。docx を最初に保存します |
.rtf、 .odt、 .pages |
Word 文書ではありません。 .docx としてエクスポート |
.pdf |
すでに PDF です。編集可能なファイルには別の方向を使用してください |
Word、LibreOffice、または Google ドキュメントで .doc を開き、.docx として保存するには数秒かかり、これらのプログラムはうまく変換できます。
見出しのサイズはどのように設定され、どのくらいの深さになりますか?
レベル別に太字で、第 3 レベルを超えるすべてのものが第 3 レベルとして扱われます。
両方のスペルがワイルドに存在するため、スタイル名は段落から読み取られ、正規化されます。 単語の書き込み Heading1; いくつかのドキュメント ジェネレーターが書き込みます heading 1。 どちらも同じレベルに解決し、 Title レベル 1 として扱われます。
| ファイル内のスタイル | 使用レベル |
|---|---|
Title、 Heading1、 heading 1 |
1です |
Heading2 |
2です |
Heading3 |
3つです |
Heading4 スルー Heading9 |
3つです |
ListParagraph、 BodyText、それ以外は何でも |
本文 |
3 つの視覚レベルは、意図的な停止点です。 第 3 レベルと区別できる第 4 レベルでは、本文テキストと衝突し始める別のサイズのステップ、またはベース フォントが提供しないウェイトまたはスタイルの変更が必要です。
PDFは何ページになりますか?
単語があなたに示した数字ではありませんが、違いはバグではありません。
改行はフォントによって異なります。したがって、12 ポイントの 12 ポイントのローマン ローマンの同じ段落は、11 の Calibri での行とは異なる数の行を占めています。 マージンが異なります。 行間隔が異なります。 行の終点を決定するものはすべて変更されたため、ページネーションはそれに応じて変更されます。
測定された実行では、1 つの見出しと約 40 語の 10 段落の文書が、2 つの A4 ページとして配置されます。最初の 39 行と 2 番目の 2 つの段落で、見出しは 12 ポイントの本文に対して 20.4 ポイントの太字で設定されています。
実際の結果は、ページ参照が破られることです。 変換されたドキュメントで「7 ページ」で説明されているように、6 ページまたは 8 ページになることができます。 自分のページを相互参照する文書は、Word からエクスポートする必要があります。レイアウトは、参照が作成されたものであるものです。
Word のエクスポートを使用するのはいつですか?
外観またはページネーションがコンテンツの一部である場合。 これは、思ったより短いリストですが、その項目は重要です。
| Word のエクスポートを使用する | コンバーターを使用する |
|---|---|
| デザインされたドキュメント: レターヘッド、履歴書、ブランディングのレポート | PDF として必要なプレーン テキスト ドキュメント |
| 表、画像、ヘッダー、フッターのあるもの | メモ、記事、ドラフト、トランスクリプト |
| 番号付き句または相互参照ページ | 必要なすべての文書を読むだけで十分なドキュメント |
| 非ラテン語スクリプト内のドキュメント | どこにもアップロードしたくないドキュメント |
Word のファイル、名前を付けて保存、PDF は真のエクスポートです。ページを描いたのと同じレイアウト エンジンが PDF を書き込むので、表示されるものは得られます。 ブラウザー内の何も Word のレイアウト エンジンを備えていないので、ブラウザー内の何も一致しません。
変換する場合は、そのテーブルの最後の行であり、手引きがありません。
なぜこれがブラウザで実行されるのですか?
ドキュメントは、人々が変換する最も個人的なファイルであり、この変換にはサーバーに必要なものは何も必要ありません。
ZIP の読み取り、XML の解析、テキストの描画は、すべてブラウザーがネイティブで行うことです。 ファイルはディスクからタブに読み込まれ、そこに解凍され、そこに配置され、そこに PDF に書き込まれ、ダウンロードとして返されます。 どのリクエストにもドキュメントが含まれておらず、コピーもどこにも残されていません。
問題の文書は、契約書、履歴書、医療書簡、法案、および論文です。 従来の代替案では、それらをサービスにアップロードし、何も知らないマシンで変換し、誰も読んでいないポリシーに記載されているしばらくの間、それらを保持します。
制限は正直なものです。西ヨーロッパのテキストのみで、画像も、見出しや箇条書き以外にもフォーマット設定はありません。 それらは、あなたがコントロールできないドキュメントのより見栄えの良い PDF である場合に取る価値のある取引です。



