文档转换优化

dev
truthhun 1 year ago
parent 8a4032fe8e
commit e629b05baa

@ -680,10 +680,14 @@ func (m *DBModel) ConvertDocument() (err error) {
} }
// PDF转为SVG // PDF转为SVG
toPage := 100000 toPage := document.Pages
if cfg.MaxPreview > 0 { if cfg.MaxPreview > 0 {
toPage = cfg.MaxPreview toPage = cfg.MaxPreview
} }
if toPage > document.Pages {
toPage = document.Pages
}
pages, err = cvt.ConvertPDFToSVG(dstPDF, 1, toPage, cfg.EnableSVGO, cfg.EnableGZIP) pages, err = cvt.ConvertPDFToSVG(dstPDF, 1, toPage, cfg.EnableSVGO, cfg.EnableGZIP)
if err != nil { if err != nil {
m.SetDocumentStatus(document.Id, DocumentStatusFailed) m.SetDocumentStatus(document.Id, DocumentStatusFailed)

@ -129,7 +129,7 @@ func (m *DBModel) GetRelatedDocuments(documentId int64) (docs []Document, err er
opt = &OptionGetDocumentList{ opt = &OptionGetDocumentList{
WithCount: false, WithCount: false,
Page: 1, Page: 1,
Size: 10, Size: 11,
QueryIn: make(map[string][]interface{}), QueryIn: make(map[string][]interface{}),
QueryLike: make(map[string][]interface{}), QueryLike: make(map[string][]interface{}),
SelectFields: []string{ SelectFields: []string{
@ -172,7 +172,13 @@ func (m *DBModel) GetRelatedDocuments(documentId int64) (docs []Document, err er
docs, _, _ = m.GetDocumentList(opt) docs, _, _ = m.GetDocumentList(opt)
if isExpired && len(docs) > 0 { if isExpired && len(docs) > 0 {
for _, doc := range docs { for _, doc := range docs {
if documentId == doc.Id {
continue
}
docIds = append(docIds, doc.Id) docIds = append(docIds, doc.Id)
if len(docIds) >= 10 {
break
}
} }
bs, _ := json.Marshal(docIds) bs, _ := json.Marshal(docIds)
docRelate.DocumentId = documentId docRelate.DocumentId = documentId

@ -188,15 +188,18 @@ func (c *Converter) convertPDFToPage(src string, fromPage, toPage int, ext strin
src, src,
pageRange, pageRange,
} }
c.logger.Debug("convert pdf to page", zap.String("cmd", mutool), zap.Strings("args", args)) c.logger.Debug("convert pdf to page", zap.String("cmd", mutool), zap.Strings("args", args))
_, err = util.ExecCommand(mutool, args, c.timeout) _, err = util.ExecCommand(mutool, args, c.timeout)
if err != nil { if err != nil {
c.logger.Error("convert pdf to page", zap.String("cmd", mutool), zap.Strings("args", args), zap.Error(err))
return return
} }
for i := 0; i <= toPage-fromPage; i++ { for i := 0; i <= toPage-fromPage; i++ {
pagePath := fmt.Sprintf(cacheFileFormat, i+1) pagePath := fmt.Sprintf(cacheFileFormat, i+1)
if _, errPage := os.Stat(pagePath); errPage != nil { if _, err = os.Stat(pagePath); err != nil {
c.logger.Error("convert pdf to page", zap.String("cmd", mutool), zap.Strings("args", args), zap.Error(err))
break break
} }
pages = append(pages, Page{ pages = append(pages, Page{

@ -37,11 +37,7 @@
>推荐</el-button >推荐</el-button
> >
<nuxt-link :to="`/document/${scope.row.id}`" target="_blank" <nuxt-link :to="`/document/${scope.row.id}`" target="_blank"
><el-button ><el-button type="text" icon="el-icon-view" size="small"
type="text"
icon="el-icon-view"
size="small"
@click="recommendDocument(scope.row)"
>查看</el-button >查看</el-button
></nuxt-link ></nuxt-link
> >

Loading…
Cancel
Save