file

package
v1.2.35 Latest Latest
Warning

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

Go to latest
Published: May 26, 2026 License: MIT Imports: 26 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CountPagesOfPDF

func CountPagesOfPDF(pdfFileName string) (int, error)

CountPagesOfPDF 确定PDF的页数

func CoverFileCacheExists added in v1.2.0

func CoverFileCacheExists(metaDataDir string, bookID string, resizeHeight int) bool

CoverFileCacheExists 检查封面文件是否存在

func DeleteBookCache added in v1.2.11

func DeleteBookCache(cachePath string, bookID string) error

DeleteBookCache 删除书籍的图片缓存目录

func DeleteCoverCache added in v1.2.11

func DeleteCoverCache(metaDataDir string, bookID string) error

DeleteCoverCache 删除封面缓存文件

func ExportAllImageFromPDF

func ExportAllImageFromPDF(pdfFile string) error

ExportAllImageFromPDF 将 PDF 中的内嵌图片导出到调试目录。

func ExportImageFromPDF

func ExportImageFromPDF(pdfFile string, pageNum int) error

ExportImageFromPDF 将指定 PDF 页面的内嵌图片导出到调试文件。

func GetCoverFromLocal added in v1.2.0

func GetCoverFromLocal(metaDataDir string, bookID string, resizeHeight int) ([]byte, error)

GetCoverFromLocal 从本地文件夹读取封面文件

func GetFileFromCache

func GetFileFromCache(id, filename, queryString string, cachePath string, debug bool) ([]byte, string, error)

GetFileFromCache 从缓存读取文件,加快第二次访问的速度

func GetImageFromPDF

func GetImageFromPDF(pdfFileName string, pageNum int, Debug bool) ([]byte, error)

GetImageFromPDF 从PDF里面取jpeg文件,pageNum从1开始

func GetImageListFromEpubFile

func GetImageListFromEpubFile(epubPath string) (imageList []string, err error)

GetImageListFromEpubFile 根据Epub信息,获取有序的imgSrc列表

func GetPageDimensions

func GetPageDimensions(fileName string) []dim

GetPageDimensions 取得PDF页面分辨率

func GetPictureData

func GetPictureData(option GetPictureDataOption) (imgData []byte, contentType string, err error)

func GetQueryString

func GetQueryString(query url.Values) string

GetQueryString 根据查询参数生成一个排序后的键字符串

func GetSingleFile

func GetSingleFile(filePath, nameInArchive, textEncoding string) ([]byte, error)

GetSingleFile 获取单个文件

func GetSingleFileFromStream added in v1.2.17

func GetSingleFileFromStream(ctx context.Context, filename string, stream vfs.ReaderAtSeeker, nameInArchive, textEncoding, remoteURL, bookPath string) ([]byte, error)

GetSingleFileFromStream 从流中获取单个文件(支持远程文件系统) stream 必须实现 ReaderAtSeeker 接口(io.Reader + io.ReaderAt + io.Seeker) remoteURL 和 bookPath 用于生成缓存 key,如果为空则不使用缓存

func SaveCoverToLocal added in v1.2.0

func SaveCoverToLocal(metaDataDir string, bookID string, resizeHeight int, data []byte) error

SaveCoverToLocal 保存封面文件到本地文件夹,加快读取速度

func SaveFileToCache

func SaveFileToCache(id, filename string, data []byte, queryString, contentType string, cachePath string, debug bool) error

SaveFileToCache 保存文件到缓存,加快读取速度

func ScanNonUTF8Zip

func ScanNonUTF8Zip(filePath string, textEncoding string) (reader *zip.Reader, err error)

ScanNonUTF8Zip 扫描文件,初始化书籍用

func UnArchiveAuto added in v1.2.22

func UnArchiveAuto(filePath string, extractPath string, zipTextEncoding string) error

UnArchiveAuto 根据 archives.Identify 自动识别格式并解压(支持 tar / tar.gz、zip、rar 等 Extractor)。 zipTextEncoding 为空则不对 ZIP 设置文本编码;非空时传给 archives.Zip。

func UnArchiveRar

func UnArchiveRar(filePath string, extractPath string) error

UnArchiveRar 一次性解压 RAR 文件

func UnArchiveZip

func UnArchiveZip(filePath string, extractPath string, textEncoding string) error

UnArchiveZip 一次性解压 ZIP 文件

Types

type Container

type Container struct {
	XMLName   xml.Name `xml:"container"`
	Text      string   `xml:",chardata"`
	Version   string   `xml:"version,attr"`
	Xmlns     string   `xml:"xmlns,attr"`
	Rootfiles struct {
		Text     string `xml:",chardata"`
		Rootfile struct {
			Text      string `xml:",chardata"`
			FullPath  string `xml:"full-path,attr"`
			MediaType string `xml:"media-type,attr"`
		} `xml:"rootfile"`
	} `xml:"rootfiles"`
}

Container was generated 2025-04-15 23:51:38 by https://xml-to-go.github.io/ in Ukraine.

type EpubMetadata

type EpubMetadata struct {
	Title     string `xml:"title"`
	Language  string `xml:"language"`
	Creator   string `xml:"creator"`
	Publisher string `xml:"publisher"`
	Date      string `xml:"date"`
	Rights    string `xml:"rights"`
	Series    string `xml:"series"`
}

func GetEpubMetadata

func GetEpubMetadata(epubPath string) (metadata EpubMetadata, err error)

GetEpubMetadata 根据Epub信息,获取书籍详情

type GetPictureDataOption

type GetPictureDataOption struct {
	PictureName      string
	BookID           string // 书籍 ID,用于计算远程 PDF 的缓存路径(压缩包类型不需要缓存)
	BookIsDir        bool
	BookIsPDF        bool
	BookIsNonUTF8Zip bool
	BookPath         string
	Debug            bool
	UseCache         bool
	ResizeWidth      int
	ResizeHeight     int
	ResizeMaxWidth   int
	ResizeMaxHeight  int
	AutoCrop         int
	Gray             bool
	BlurHash         int
	BlurHashImage    int
	// 远程书籍支持
	IsRemote  bool   // 是否为远程书籍
	RemoteURL string // 远程存储的 URL
}

type Package

type Package struct {
	XMLName          xml.Name `xml:"package"`
	Text             string   `xml:",chardata"`
	Version          string   `xml:"version,attr"`
	UniqueIdentifier string   `xml:"unique-identifier,attr"`
	Xmlns            string   `xml:"xmlns,attr"`
	Metadata         struct {
		Text string `xml:",chardata"`
		Dc   string `xml:"dc,attr"`
		Opf  string `xml:"opf,attr"`
		Meta []struct {
			Text    string `xml:",chardata"`
			Name    string `xml:"name,attr"`
			Content string `xml:"content,attr"`
		} `xml:"meta"`
		Identifier struct {
			Text   string `xml:",chardata"`
			ID     string `xml:"id,attr"`
			Scheme string `xml:"scheme,attr"`
		} `xml:"identifier"`
		Title     string `xml:"title"`
		Language  string `xml:"language"`
		Creator   string `xml:"creator"`
		Publisher string `xml:"publisher"`
		Date      string `xml:"date"`
		Rights    string `xml:"rights"`
		Series    string `xml:"series"`
	} `xml:"metadata"`
	Manifest struct {
		Text string `xml:",chardata"`
		Item []struct {
			Text       string `xml:",chardata"`
			ID         string `xml:"id,attr"`
			Href       string `xml:"href,attr"`
			MediaType  string `xml:"media-type,attr"`
			Properties string `xml:"properties,attr"`
		} `xml:"item"`
	} `xml:"manifest"`
	Spine struct {
		Text    string `xml:",chardata"`
		Toc     string `xml:"toc,attr"`
		Itemref []struct {
			Text  string `xml:",chardata"`
			Idref string `xml:"idref,attr"`
		} `xml:"itemref"`
	} `xml:"spine"`
	Guide struct {
		Text      string `xml:",chardata"`
		Reference struct {
			Text  string `xml:",chardata"`
			Type  string `xml:"type,attr"`
			Href  string `xml:"href,attr"`
			Title string `xml:"title,attr"`
		} `xml:"reference"`
	} `xml:"guide"`
}

Package 定义结构体、映射OPF文件(xml)结构用。 was generated 2022-12-09 00:47:41 by https://xml-to-go.github.io/ in Ukraine.

Jump to

Keyboard shortcuts

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