3

LibreOffice を使用して Microsoft Word ドキュメントを HTML に変換する Web アプリケーションがあります。すべてがうまく機能していますが、特定のファイルのインデントを解釈する能力に問題があります。

他の親切な開発者からの提案を使用して、docx ファイルを zip に変換し、解凍してから document.xml ファイルを抽出することで、docx ファイルを分離する方法を発見しました。その過程で、LibreOffice が常に<w:tab>タグを解釈してインデントとしてレンダリングすることができないことに気付きました。

これを修正するために多くのことを試みましたが、アイデアが不足しています。私の最後の溝の努力は、phpを使用して、すべての<w:tab>タグをプログラムでタグに置き換えることでした<w:ind>(LibreOfficeはタブとして正常に解釈します)。ただし、ファイルを bash で .zip に変換するとすぐに、それを docx として封印することができません。つまり、私はそれを行うことができますが、LibreOffice はそれを認識しなくなり、奇妙なエラーをスローします。

document.xml ファイルをプルするだけで html レンダリングを取得する方法はありますか? そうでない場合、これらの文書を再び封印する方法を知っている人はいますか? どんな助けでも大歓迎です。ありがとう!

ここに更新があります:docxをバックアップしようとすると、親ディレクトリが含まれているようです。ファイルをdocx形式に戻すと、これがファイルを台無しにしていると思います。フォルダーを圧縮せずに、フォルダーのすべてのコンテンツを圧縮する方法がわかりません。何か案は?これまでのコードは次のとおりです。

cp mydoc.docx mydoc.zip
unzip -d mydoc mydoc.zip
zip -r my_edited_doc mydoc/*
4

1 に答える 1

2

私は答えを見つけました!変更を完了してファイルを再圧縮するには、圧縮されたファイルの親ディレクトリが含まれていないことを確認してください。これを行うには、ディレクトリを親ディレクトリに変更してから、次のコードを実行しました。

zip -r mydoc ./*

完全なコードは次のようになります。

cp mydoc.docx mydoc.zip
unzip -d mydoc mydoc.zip
cd mydoc
zip -r mydoc_converted ./*
于 2013-08-20T03:28:42.160 に答える