feat(转换能力): 完善PDF转换与链接保留,优化大型文档处理,新增转换提示
build.yaml / build (push) Successful in 40s

This commit is contained in:
xiaoqidun committed 2026-09-24 17:26:12 +08:00
1 parent 86330dddd7
commit f13d8b81e1
9 files changed
+330 -114

No files matched your search

+7 -3
View File
@@ -314,7 +314,7 @@ func safeCall(fn func([]js.Value) (any, error), args []js.Value) (data any, err
// convertPDFDocument 通过库转换PDF,不替换当前文档会话
// 入参: args PDF数据
// 返回: any OFD数据, error 错误信息
// 返回: any OFD数据及转换警告, error 错误信息
func convertPDFDocument(args []js.Value) (any, error) {
if len(args) != 1 {
return nil, fmt.Errorf("missing PDF data")
@@ -324,11 +324,15 @@ func convertPDFDocument(args []js.Value) (any, error) {
return nil, err
}
var output bytes.Buffer
_, err = ofdgo.ConvertPDF(context.Background(), bytes.NewReader(data), int64(len(data)), &output, ofdgo.PDFImportOptions{})
report, err := ofdgo.ConvertPDF(context.Background(), bytes.NewReader(data), int64(len(data)), &output, ofdgo.PDFImportOptions{})
if err != nil {
return nil, err
}
return successResult(map[string]any{"bytes": bytesToJS(output.Bytes())}), nil
warnings, err := json.Marshal(report.Warnings)
if err != nil {
return nil, err
}
return successResult(map[string]any{"bytes": bytesToJS(output.Bytes()), "warnings": string(warnings)}), nil
}
// openDocument 打开OFD文档