20250225_new

This commit is contained in:
李超 2025-02-25 20:31:44 +08:00
parent 746bbbe4a2
commit 529fe27dce
6 changed files with 39 additions and 76 deletions

View File

@ -1,8 +1,8 @@
package main
import (
"dt_automate/method"
"dt_automate/tool"
"dt_automate/wps"
"flag"
"fmt"
"log"
@ -95,8 +95,8 @@ func main() {
// method.HW_TSGZ() //截取态势感知的图片
// //政务网区
// method.ZWW_FW1() //截取防火墙的图片
method.ZWW_TSGZ() //截取态势感知的图片
// wps.Word()
// method.ZWW_TSGZ() //截取态势感知的图片
wps.Word()
// wps.Damo()
}
} else {

Binary file not shown.

BIN
temp.docx

Binary file not shown.

Binary file not shown.

View File

@ -1,9 +1,9 @@
package wps
import (
"io/ioutil"
"log"
"strings"
"time"
"github.com/unidoc/unioffice/common"
"github.com/unidoc/unioffice/common/license"
@ -45,19 +45,33 @@ func Word() {
for _, p := range paragraphs {
for _, r := range p.Runs() {
if strings.Contains(r.Text(), "{{DATE_A}}") {
Replacetext(r, "{{DATE_A}}", "2025年02月25日")
} else if strings.Contains(r.Text(), "{{DATE_A}}") {
// r.ClearContent()
Replacetext(r, "{{DATE_A}}", time.Date(2025, time.February, 25, 0, 0, 0, 0, time.Local).Format("2006年01月02日"))
} else if strings.Contains(r.Text(), "{{HLW_FW_1}}") { //插入互联网防火墙图片
Replaceimg(r, doc, "img/hw_fw1.png")
} else if strings.Contains(r.Text(), "{{HLW_AFC2000_1}}") { //插入互联网流量清洗图片
Replaceimg(r, doc, "img/afc2000_1.png")
} else if strings.Contains(r.Text(), "{{HLW_AFC2000_2}}") { //插入互联网流量清洗图片
Replaceimg(r, doc, "img/afc2000_2.png")
} else if strings.Contains(r.Text(), "{{HLW_TSGZ}}") { //插入互联网态势感知图片
Replaceimg(r, doc, "img/hw_tsgz.png")
} else if strings.Contains(r.Text(), "{{HLW_BLJ}}") { //插入互联网堡垒机图片
// Replaceimg(r, doc, "img/hw_fw1.png")
} else if strings.Contains(r.Text(), "{{ZWW_FW_1}}") { //插入政务网防火墙图片
Replaceimg(r, doc, "img/zww_fw1.png")
} else if strings.Contains(r.Text(), "{{ZWW_TSGZ}}") { //插入政务网态势感知图片
Replaceimg(r, doc, "img/zww_tsgz.png")
} else if strings.Contains(r.Text(), "{{ZWW_BLJ}}") { //插入政务网堡垒机图片
// Replaceimg(r, doc, "img/hw_fw1.png")
} else {
// fmt.Println("not modifying", r.Text())
// log.Println("")
}
}
}
// 遍历文档中的表格
// 遍历文档中的表格,替换{{bianliang}} 中的内容
for _, table := range doc.Tables() {
for _, row := range table.Rows() {
for i, cell := range row.Cells() {
for _, cell := range row.Cells() {
var (
b string
p document.Paragraph
@ -69,96 +83,45 @@ func Word() {
}
// log.Println(k)
}
log.Println(i)
// log.Println(i)
if strings.Contains(b, "{{DATE_B}}") {
// log.Println(k)
log.Println("匹配到模板内容:", b)
for _, h := range cell.Paragraphs()[k].Runs() {
h.ClearContent()
}
cell.Properties().SetVerticalAlignment(wml.ST_VerticalJcCenter)
cell.Paragraphs()[k].AddRun().AddText("2025年02月25日")
// log.Println(time.Date(2025, time.February, 25, 0, 0, 0, 0, time.Local).Format("2006年01月02日"))
cell.Paragraphs()[k].AddRun().AddText(time.Date(2025, time.February, 25, 0, 0, 0, 0, time.Local).Format("2006年01月02日"))
}
log.Println(b)
// log.Println(b)
b = ""
}
}
}
doc.SaveToFile("simple.docx")
doc.SaveToFile("大同信创云平台安全运维日报" + time.Date(2025, time.February, 25, 0, 0, 0, 0, time.Local).Format("20060102") + ".docx")
}
// 文字替换
func Replacetext(r document.Run, src, ends string) {
datas := r.Text()
log.Println("匹配到的内容:", datas)
r.ClearContent()
r.AddText(strings.Replace(datas, src, ends, -1))
log.Println(strings.Replace(datas, src, ends, -1))
log.Println("替换后的内容:", strings.Replace(datas, src, ends, -1))
}
// func createParaRun(doc *document.Document, s string) document.Run {
// para := doc.AddParagraph()
// run := para.AddRun()
// run.AddText(s)
// return run
// }
var lorem = `Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin lobortis, lectus dictum feugiat tempus, sem neque finibus enim, sed eleifend sem nunc ac diam. Vestibulum tempus sagittis elementum`
func Word_img() {
doc := document.New()
img1, err := common.ImageFromFile("gophercolor.png")
// 插入图片
func Replaceimg(r document.Run, doc *document.Document, path_img string) {
r.ClearContent()
img1, err := common.ImageFromFile("img/hw_fw1.png")
if err != nil {
log.Fatalf("unable to create image: %s", err)
}
img2data, err := ioutil.ReadFile("gophercolor.png")
if err != nil {
log.Fatalf("unable to read file: %s", err)
}
img2, err := common.ImageFromBytes(img2data)
if err != nil {
log.Fatalf("unable to create image: %s", err)
}
img1ref, err := doc.AddImage(img1)
if err != nil {
log.Fatalf("unable to add image to document: %s", err)
}
img2ref, err := doc.AddImage(img2)
if err != nil {
log.Fatalf("unable to add image to document: %s", err)
}
para := doc.AddParagraph()
anchored, err := para.AddRun().AddDrawingAnchored(img1ref) //添加绘图锚定
if err != nil {
log.Fatalf("unable to add anchored image: %s", err)
}
anchored.SetName("Gopher")
anchored.SetSize(2*measurement.Inch, 2*measurement.Inch)
anchored.SetOrigin(wml.WdST_RelFromHPage, wml.WdST_RelFromVTopMargin) //设置原点
anchored.SetHAlignment(wml.WdST_AlignHCenter) //设置校准
anchored.SetYOffset(3 * measurement.Inch) //设置偏移量
anchored.SetTextWrapSquare(wml.WdST_WrapTextBothSides) //设置文本环绕正方形
run := para.AddRun()
for i := 0; i < 16; i++ {
run.AddText(lorem)
// drop an inline image in
if i == 13 {
inl, err := run.AddDrawingInline(img1ref)
if err != nil {
log.Fatalf("unable to add inline image: %s", err)
}
inl.SetSize(1*measurement.Inch, 1*measurement.Inch)
}
if i == 15 {
inl, err := run.AddDrawingInline(img2ref)
if err != nil {
log.Fatalf("unable to add inline image: %s", err)
}
inl.SetSize(1*measurement.Inch, 1*measurement.Inch)
}
}
doc.SaveToFile("image.docx")
anchored, _ := r.AddDrawingInline(img1ref) //在文档中插入图片
anchored.SetSize(img1ref.RelativeWidth(5.2*measurement.Inch), 5.2*measurement.Inch)
log.Println("插入图片:", path_img)
}

Binary file not shown.