diff --git a/model/document.go b/model/document.go index 7843bd2..bb838c9 100644 --- a/model/document.go +++ b/model/document.go @@ -680,10 +680,14 @@ func (m *DBModel) ConvertDocument() (err error) { } // PDF转为SVG - toPage := 100000 + toPage := document.Pages if cfg.MaxPreview > 0 { toPage = cfg.MaxPreview } + if toPage > document.Pages { + toPage = document.Pages + } + pages, err = cvt.ConvertPDFToSVG(dstPDF, 1, toPage, cfg.EnableSVGO, cfg.EnableGZIP) if err != nil { m.SetDocumentStatus(document.Id, DocumentStatusFailed) diff --git a/model/documentRelate.go b/model/documentRelate.go index f28c028..05fec61 100644 --- a/model/documentRelate.go +++ b/model/documentRelate.go @@ -129,7 +129,7 @@ func (m *DBModel) GetRelatedDocuments(documentId int64) (docs []Document, err er opt = &OptionGetDocumentList{ WithCount: false, Page: 1, - Size: 10, + Size: 11, QueryIn: make(map[string][]interface{}), QueryLike: make(map[string][]interface{}), SelectFields: []string{ @@ -172,7 +172,13 @@ func (m *DBModel) GetRelatedDocuments(documentId int64) (docs []Document, err er docs, _, _ = m.GetDocumentList(opt) if isExpired && len(docs) > 0 { for _, doc := range docs { + if documentId == doc.Id { + continue + } docIds = append(docIds, doc.Id) + if len(docIds) >= 10 { + break + } } bs, _ := json.Marshal(docIds) docRelate.DocumentId = documentId diff --git a/util/converter/converter.go b/util/converter/converter.go index 950b4b9..b16be52 100644 --- a/util/converter/converter.go +++ b/util/converter/converter.go @@ -188,15 +188,18 @@ func (c *Converter) convertPDFToPage(src string, fromPage, toPage int, ext strin src, pageRange, } + c.logger.Debug("convert pdf to page", zap.String("cmd", mutool), zap.Strings("args", args)) _, err = util.ExecCommand(mutool, args, c.timeout) if err != nil { + c.logger.Error("convert pdf to page", zap.String("cmd", mutool), zap.Strings("args", args), zap.Error(err)) return } for i := 0; i <= toPage-fromPage; i++ { 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 } pages = append(pages, Page{ diff --git a/web/pages/admin/document/list.vue b/web/pages/admin/document/list.vue index b2faacf..e7f4c64 100644 --- a/web/pages/admin/document/list.vue +++ b/web/pages/admin/document/list.vue @@ -37,11 +37,7 @@ >推荐 查看