mirror of
https://github.com/fumiama/go-docx.git
synced 2026-06-16 14:48:05 +08:00
优化 pic String
This commit is contained in:
114
structpara.go
114
structpara.go
@@ -21,8 +21,6 @@
|
||||
package docx
|
||||
|
||||
import (
|
||||
"crypto/md5"
|
||||
"encoding/hex"
|
||||
"encoding/xml"
|
||||
"io"
|
||||
"strconv"
|
||||
@@ -202,113 +200,13 @@ func (p *Paragraph) String() string {
|
||||
case *BarterRabbet:
|
||||
sb.WriteByte('\n')
|
||||
case *Drawing:
|
||||
if x.Inline != nil && x.Inline.Graphic != nil && x.Inline.Graphic.GraphicData != nil {
|
||||
if x.Inline.Graphic.GraphicData.Pic != nil {
|
||||
sb.WriteString("
|
||||
if x.Inline.Graphic.GraphicData.Pic.BlipFill != nil {
|
||||
tgt, err := p.file.ReferTarget(x.Inline.Graphic.GraphicData.Pic.BlipFill.Blip.Embed)
|
||||
if err != nil {
|
||||
sb.WriteString(err.Error())
|
||||
} else {
|
||||
h := md5.Sum(p.file.Media(tgt[6:]).Data)
|
||||
sb.WriteString(hex.EncodeToString(h[:]))
|
||||
}
|
||||
}
|
||||
sb.WriteByte(')')
|
||||
continue
|
||||
}
|
||||
if x.Inline.Graphic.GraphicData.Shape != nil {
|
||||
sb.WriteString("
|
||||
if x.Inline.Graphic.GraphicData.Shape.SpPr != nil {
|
||||
sb.WriteString(x.Inline.Graphic.GraphicData.Shape.SpPr.PrstGeom.Prst)
|
||||
}
|
||||
sb.WriteByte(')')
|
||||
continue
|
||||
}
|
||||
if x.Inline.Graphic.GraphicData.Canvas != nil {
|
||||
sb.WriteString("![inlncv ")
|
||||
if x.Inline.DocPr != nil {
|
||||
sb.WriteString(x.Inline.DocPr.Name)
|
||||
} else {
|
||||
sb.WriteString("nil")
|
||||
}
|
||||
sb.WriteString("]()")
|
||||
continue
|
||||
}
|
||||
if x.Inline != nil {
|
||||
sb.WriteString(x.Inline.String())
|
||||
continue
|
||||
}
|
||||
if x.Anchor != nil && x.Anchor.Graphic != nil && x.Anchor.Graphic.GraphicData != nil {
|
||||
if x.Anchor.Graphic.GraphicData.Pic != nil {
|
||||
sb.WriteString("
|
||||
if x.Anchor.Graphic.GraphicData.Pic.BlipFill != nil {
|
||||
tgt, err := p.file.ReferTarget(x.Anchor.Graphic.GraphicData.Pic.BlipFill.Blip.Embed)
|
||||
if err != nil {
|
||||
sb.WriteString(err.Error())
|
||||
} else {
|
||||
h := md5.Sum(p.file.Media(tgt[6:]).Data)
|
||||
sb.WriteString(hex.EncodeToString(h[:]))
|
||||
}
|
||||
}
|
||||
sb.WriteByte(')')
|
||||
continue
|
||||
}
|
||||
if x.Anchor.Graphic.GraphicData.Shape != nil {
|
||||
sb.WriteString("
|
||||
if x.Anchor.Graphic.GraphicData.Shape.SpPr != nil {
|
||||
sb.WriteString(x.Anchor.Graphic.GraphicData.Shape.SpPr.PrstGeom.Prst)
|
||||
}
|
||||
sb.WriteByte(')')
|
||||
continue
|
||||
}
|
||||
if x.Anchor.Graphic.GraphicData.Canvas != nil {
|
||||
sb.WriteString("![anchcv ")
|
||||
if x.Anchor.DocPr != nil {
|
||||
sb.WriteString(x.Anchor.DocPr.Name)
|
||||
} else {
|
||||
sb.WriteString("nil")
|
||||
}
|
||||
sb.WriteString("]()")
|
||||
continue
|
||||
}
|
||||
if x.Anchor != nil {
|
||||
sb.WriteString(x.Anchor.String())
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user