doc から docx golang

WBOY
リリース: 2023-05-10 10:23:36
オリジナル
1293 人が閲覧しました

今日は、Golang を使用して doc ファイルを docx ファイルに変換する方法を共有したいと思います。

Microsoft Office スイートの更新に伴い、doc ファイル形式は段階的に廃止され、現在では docx ファイル形式がより一般的なドキュメント形式になりました。独自のアプリケーションでドキュメントを処理する必要がある場合は、doc を docx に変換する必要があります。

Golang は、ドキュメント変換などのタスクの処理に非常に優れたパフォーマンスを発揮する強力なプログラミング言語です。以下では、Golang を使用して doc を docx に変換するタスクを完了する方法を紹介します。

まず、このタスクを完了するには、サードパーティ ライブラリ「github.com/unidoc/unioffice」を使用する必要があります。 「unioffice」ライブラリは別のライブラリ「github.com/antchfx/xmlquery」に依存しているため、これら 2 つのライブラリをプロジェクトに導入する必要があります:

go get github.com/unidoc/unioffice go get github.com/antchfx/xmlquery
ログイン後にコピー

次に、doc ファイルから読み取る必要があります。テキストコンテンツを取得し、docx 形式のテキストに変換します。以下に簡単なサンプル コードを示します。

package main import ( "fmt" "github.com/antchfx/xmlquery" "github.com/unidoc/unioffice/document" "io" "os" "path/filepath" ) func convertDocx(filePath string) error { f, err := os.Open(filePath) if err != nil { return err } defer f.Close() r, err := document.Open(f) if err != nil { return err } docxFilePath := filepath.Join(filepath.Dir(filePath), fmt.Sprintf("%s.docx", filepath.Base(filePath))) f2, err := os.Create(docxFilePath) if err != nil { return err } defer f2.Close() w, err := document.Create(f2, document.WithTemplate(r)) if err != nil { return err } for _, para := range r.Paragraphs() { for _, run := range para.Runs() { if run.IsLineBreak() { w.AddLineBreak() } else if run.IsTab() { w.AddTab() } else if run.IsPicture() { io.Copy(w, r.GetPictureData(run.Picture())) } else { w.WriteString(run.Text()) } } w.AddParagraph() } w.Close() r.Close() return nil } func main() { err := convertDocx("test.doc") if err != nil { fmt.Println(err) return } fmt.Println("Conversion complete!") }
ログイン後にコピー

上記のコードでは、まず doc ファイルを開き、それをドキュメント オブジェクトに読み込みます。次に、新しい docx ファイルを作成し、それをドキュメント オブジェクトの「テンプレート」パラメータとして渡します。次に、doc ファイル内の各段落と実行中の各インスタンスを調べ、対応する docx 形式に変換してファイルに書き込みます。最後に、ファイル ストリーム オブジェクトを閉じ、処理が完了したことを示す nil を返します。

上記のコード例では、Golang を使用して doc ファイルを docx ファイルに変換できます。なお、実際の使用においては、例外の処理やプログラムの堅牢性なども考慮する必要があります。

要約すると、この記事では Golang を使用して doc ファイルを docx ファイルに変換する方法を紹介します。この記事が、ドキュメント変換タスクに取り組む際の参考になれば幸いです。

以上がdoc から docx golangの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!