mirror of
https://github.com/xiaoqidun/ofdgo.git
synced 2026-10-29 16:25:49 +08:00
This commit is contained in:
1 parent
74b6b0ac93
commit
e488d25775
8 files changed
+121
-126
No files matched your search
@@ -24,6 +24,7 @@ import (
|
||||
)
|
||||
|
||||
// Reader OFD文件阅读器
|
||||
// Reader及共享它的Renderer需串行调用
|
||||
type Reader struct {
|
||||
Path string
|
||||
Zip *zip.Reader
|
||||
@@ -249,6 +250,7 @@ func resolveResourcePath(resPath, baseLoc, filePath string) string {
|
||||
}
|
||||
|
||||
// PageContent 获取页面内容
|
||||
// 每次返回独立的页面内容,修改后可传入Renderer重绘,不会写回原文件
|
||||
// 入参: page 页面对象
|
||||
// 返回: *PageContent 页面内容, error 错误信息
|
||||
func (r *Reader) PageContent(page Page) (*PageContent, error) {
|
||||
@@ -272,6 +274,30 @@ func (r *Reader) PageContent(page Page) (*PageContent, error) {
|
||||
return &content, nil
|
||||
}
|
||||
|
||||
// PageCount 获取当前文档总页数
|
||||
// 返回: int 页数, error 错误信息
|
||||
func (r *Reader) PageCount() (int, error) {
|
||||
doc, err := r.Doc()
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
return len(doc.Pages.Page), nil
|
||||
}
|
||||
|
||||
// PageContentByIndex 按当前文档页面顺序读取页面内容
|
||||
// 入参: index 页面索引,从0开始
|
||||
// 返回: *PageContent 页面内容, error 错误信息
|
||||
func (r *Reader) PageContentByIndex(index int) (*PageContent, error) {
|
||||
doc, err := r.Doc()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if index < 0 || index >= len(doc.Pages.Page) {
|
||||
return nil, fmt.Errorf("page index %d out of range", index)
|
||||
}
|
||||
return r.PageContent(doc.Pages.Page[index])
|
||||
}
|
||||
|
||||
// PageArea 读取页面区域,不解析页面图元
|
||||
// 入参: page 页面对象
|
||||
// 返回: PageArea 页面区域, error 错误信息
|
||||
|
||||
Reference in new issue
Block a user