pdf

package
v0.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 16, 2026 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ParsePageRange

func ParsePageRange(rangeStr string, totalPages int) ([]int, error)

ParsePageRange 解析页面范围字符串

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图片提取结果

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL