|
@@ -489,7 +489,7 @@ func processIFrame(tree *parse.Tree) {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-func AddPDFOutline(id, p string) (err error) {
|
|
|
|
|
|
+func AddPDFOutline(id, p string, merge bool) (err error) {
|
|
inFile := p
|
|
inFile := p
|
|
links, err := api.ListToCLinks(inFile)
|
|
links, err := api.ListToCLinks(inFile)
|
|
if nil != err {
|
|
if nil != err {
|
|
@@ -527,6 +527,14 @@ func AddPDFOutline(id, p string) (err error) {
|
|
if nil == tree {
|
|
if nil == tree {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+ if merge {
|
|
|
|
+ var mergeErr error
|
|
|
|
+ tree, mergeErr = mergeSubDocs(tree)
|
|
|
|
+ if nil != mergeErr {
|
|
|
|
+ logging.LogErrorf("merge sub docs failed: %s", mergeErr)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
var headings []*ast.Node
|
|
var headings []*ast.Node
|
|
ast.Walk(tree.Root, func(n *ast.Node, entering bool) ast.WalkStatus {
|
|
ast.Walk(tree.Root, func(n *ast.Node, entering bool) ast.WalkStatus {
|