Microsoft Word を使用しているユーザーによって生成された RTF ファイルがいくつかあります。これらのファイルを連結できるようにする必要があり、結果ファイルは引き続き libreoffice で読み取り可能である必要があります。結果ファイルを PDF ファイルに変換するために libreoffice を使用しています。
2 つのファイルを連結するために、私のアプリケーションは最初のファイルの最後の文字と他のファイルの最初の文字を削除します。ファイルのヘッダーは削除されません (ページ ヘッダーについて話しているわけではありません)。
何らかの理由で、libreoffice は Microsoft Word によって挿入されたヘッダーを好みません。しかし、これらのファイルをワードパッドで開いて保存すると、問題なく動作します。
これらのヘッダーを削除する別の方法は、これらのファイルを連結する前に RTF に変換することです。この方法で PDF に変換できますが、ファイルを RTF に変換すると、libreoffice がタブをひどく混乱させます。
では、タブをいじらずに PHP からヘッダーを削除するにはどうすればよいでしょうか。または、同じ結果を得る別の方法がありますか?
編集 :
一言で言えば、これらのファイルを連結し、libreoffice で開くことができなければなりません。また、タブは引き続き Microsoft Word で適切に表示される必要があります。
ご想像のとおり、ユーザーはワードパッドを使いたがりません。そして、私の顧客の IT 部門は、その要望 (オフィスの方針) に従わなければなりません。
アップデート :
ビジネス ルールのため、最初にマージを行う必要があります。ファイルがマージされ、ユーザーは Word を使用してファイルを変更できます (ここでは問題ありません)。次に、上司に検証を依頼します。上司が検証に同意すると、RTF ファイルは PDF ファイルになります。
更新 2:
私は解決策の始まりを持っています。RTF ファイルがプレーン テキストまたは画像で始まる場合は、\pard になるまですべてを削除する必要があります。ただし、タブでファイルを開始すると、これは機能しません。
更新 3:
タブもサポートしたい場合は、\pard または \trowd を取得するまですべてを削除する必要があります。動作するコードを取得したら、ソリューション全体を投稿します。色を必要とせず、すべてのファイルが同じフォントを使用している限り、これは問題なく機能します (最初のファイルの RTF ヘッダーを削除しないため)。