Documentation
¶
Index ¶
- func ParsePageRange(rangeStr string, totalPages int) ([]int, error)
- func PrintSplitResult(result *SplitResult)
- type BatchSummary
- type ExtractionResult
- type ImageExtractionConfig
- type ImageExtractionStats
- type ImageExtractor
- type ImageInfo
- type ImagesConfig
- type ImagesProcessor
- type ImagesResult
- type SplitConfig
- type SplitMode
- type SplitProcessor
- type SplitResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ParsePageRange ¶
ParsePageRange 解析页面范围字符串
func PrintSplitResult ¶ added in v0.0.6
func PrintSplitResult(result *SplitResult)
PrintSplitResult 打印拆分结果
Types ¶
type BatchSummary ¶
type BatchSummary struct {
TotalFiles int
SuccessFiles int
FailedFiles int
TotalImages int
TotalSize int64
ProcessTime float64
}
BatchSummary 批量处理汇总信息
type ExtractionResult ¶
type ExtractionResult struct {
Success bool `json:"success"`
Error string `json:"error,omitempty"`
InputPath string `json:"input_path"`
OutputDir string `json:"output_dir"`
Images []ImageInfo `json:"images"`
TotalPages int `json:"total_pages"`
PagesProcessed []int `json:"pages_processed"`
StartTime time.Time `json:"start_time"`
EndTime time.Time `json:"end_time"`
Duration float64 `json:"duration"`
}
ExtractionResult 图片提取结果
func (*ExtractionResult) GetStats ¶
func (r *ExtractionResult) GetStats() *ImageExtractionStats
GetStats 计算提取统计信息
type ImageExtractionConfig ¶
type ImageExtractionConfig struct {
InputPath string `json:"input_path"`
OutputDir string `json:"output_dir"`
PageRange string `json:"page_range,omitempty"`
ImageFormat string `json:"image_format"`
Quality int `json:"quality,omitempty"`
CreatePageDirs bool `json:"create_page_dirs"`
Overwrite bool `json:"overwrite"`
Threads int `json:"threads"`
}
ImageExtractionConfig PDF图片提取配置
func DefaultImageExtractionConfig ¶
func DefaultImageExtractionConfig() *ImageExtractionConfig
DefaultImageExtractionConfig 返回默认配置
type ImageExtractionStats ¶
type ImageExtractionStats struct {
TotalImages int `json:"total_images"`
SuccessCount int `json:"success_count"`
FailureCount int `json:"failure_count"`
TotalFileSize int64 `json:"total_file_size"`
ImagesPerPage map[int]int `json:"images_per_page"`
ImagesByFormat map[string]int `json:"images_by_format"`
}
ImageExtractionStats 图片提取统计信息
type ImageExtractor ¶
type ImageExtractor struct {
// contains filtered or unexported fields
}
ImageExtractor PDF图片提取器
func NewImageExtractor ¶
func NewImageExtractor(config *ImageExtractionConfig) *ImageExtractor
NewImageExtractor 创建图片提取器
func (*ImageExtractor) Extract ¶
func (e *ImageExtractor) Extract() *ExtractionResult
Extract 执行图片提取
type ImageInfo ¶
type ImageInfo struct {
FilePath string `json:"file_path"`
PageNumber int `json:"page_number"`
ImageIndex int `json:"image_index"`
Width int `json:"width"`
Height int `json:"height"`
Format string `json:"format"`
FileSize int64 `json:"file_size"`
ExtractionTime time.Time `json:"extraction_time"`
}
ImageInfo 提取的单个图片信息
type ImagesConfig ¶
type ImagesConfig struct {
InputFiles []string
OutputDir string
PageRange string
ImageFormat string
Quality int
PageDirs bool
Overwrite bool
Batch bool
Quiet bool
Threads int
}
ImagesConfig PDF图片提取命令配置
type ImagesProcessor ¶
type ImagesProcessor struct {
// contains filtered or unexported fields
}
ImagesProcessor PDF图片提取处理器
func NewImagesProcessor ¶
func NewImagesProcessor(config *ImagesConfig) *ImagesProcessor
NewImagesProcessor 创建图片提取处理器
func (*ImagesProcessor) Execute ¶
func (p *ImagesProcessor) Execute(ctx context.Context) (*ImagesResult, error)
Execute 执行图片提取(主入口)
type ImagesResult ¶
type ImagesResult struct {
Results []*ExtractionResult
Summary *BatchSummary
}
ImagesResult PDF图片提取结果
type SplitConfig ¶ added in v0.0.6
type SplitConfig struct {
InputFile string
OutputDir string
Mode SplitMode
Pages string // 页码范围字符串
Every int // 每 N 页
Page int // 单页页码
Prefix string // 输出文件名前缀
}
SplitConfig PDF拆分配置
type SplitProcessor ¶ added in v0.0.6
type SplitProcessor struct {
// contains filtered or unexported fields
}
SplitProcessor PDF拆分处理器
func NewSplitProcessor ¶ added in v0.0.6
func NewSplitProcessor(config *SplitConfig) *SplitProcessor
NewSplitProcessor 创建拆分处理器
func (*SplitProcessor) Execute ¶ added in v0.0.6
func (p *SplitProcessor) Execute(ctx context.Context) (*SplitResult, error)
Execute 执行PDF拆分
Click to show internal directories.
Click to hide internal directories.