PyPDF2 PDFMerger类

2023-03-30 11:50 更新

classPyPDF2.PdfMerger(strict: bool = Falsefileobj: Union[Path, str, IO] = '')

基类: object

初始化一个​PdfMerger​对象。

PdfMerger​将多个 PDF 合并为一个 PDF。它可以连接、切片、插入或以上的任意组合。

请参阅功能​merge()​(或​append()​)和​write()​使用信息。

参数
  • strict ( bool ) – 确定是否应警告用户所有问题,并导致一些可纠正的问题成为致命问题。默认为False.

  • fileobj——输出文件。可以是文件名或任何类型的类似文件的对象。

addBookmark(title: str, pagenum: int, parent: ~typing.Union[None, ~PyPDF2.generic._data_structures.TreeObject, ~PyPDF2.generic._base.IndirectObject] = None, color: ~typing.Optional[~typing.Tuple[float, float, float]] = None, bold: bool = False, italic: bool = False, fit: typing_extensions.Literal[/Fit, /XYZ, /FitH, /FitV, /FitR, /FitB, /FitBH, /FitBV] = '/Fit', *args: ~typing.Union[~PyPDF2.generic._base.NumberObject, ~PyPDF2.generic._base.NullObject, float])→ IndirectObject

1.28.0 版后已弃用:改为使用add_outline_item()

addMetadata(infos: Dict[str, Any])→ None

1.28.0 版后已弃用:改为使用add_metadata()

addNamedDestination(title: str, pagenum: int)→ None

1.28.0 版后已弃用:改为使用​add_named_destination()​。

add_bookmark(title: str, pagenum: int, parent: ~typing.Union[None, ~PyPDF2.generic._data_structures.TreeObject, ~PyPDF2.generic._base.IndirectObject] = None, color: ~typing.Optional[~typing.Tuple[float, float, float]] = None, bold: bool = False, italic: bool = False, fit: typing_extensions.Literal[/Fit, /XYZ, /FitH, /FitV, /FitR, /FitB, /FitBH, /FitBV] = '/Fit', *args: ~typing.Union[~PyPDF2.generic._base.NumberObject, ~PyPDF2.generic._base.NullObject, float])→ IndirectObject

2.9.0 版后已弃用:改为使用​add_outline_item()​。

add_metadata(infos: Dict[str, Any])→ None

将自定义元数据添加到输出。

参数

infos ( dict ) – 一个 Python 字典,其中每个键都是一个字段,每个值都是您的新元数据。例子:{u'/Title': u'My title'}

add_named_destination(title: str, page_number: Optional[int] = None, pagenum: Optional[int] = None)→ None

向输出添加目标。

参数
  • title ( str ) – 要使用的标题

  • page_number ( int ) – 此目标指向的页码。

add_outline_item(title: str, page_number: ~typing.Optional[int] = None, parent: ~typing.Union[None, ~PyPDF2.generic._data_structures.TreeObject, ~PyPDF2.generic._base.IndirectObject] = None, color: ~typing.Optional[~typing.Tuple[float, float, float]] = None, bold: bool = False, italic: bool = False, fit: ~PyPDF2.generic._fit.Fit = <PyPDF2.generic._fit.Fit object>, pagenum: ~typing.Optional[int] = None)→ IndirectObject

向此 PDF 文件添加大纲项目(通常称为“书签”)。

参数
  • title ( str ) – 用于此大纲项目的标题。

  • page_number ( int ) – 此大纲项将指向的页码。

  • parent – 对父大纲项的引用以创建嵌套大纲项。

  • color ( tuple ) – 大纲项字体的颜色,作为从 0.0 到 1.0 的红色、绿色、蓝色元组

  • bold ( bool ) – 大纲项字体为粗体

  • italic ( bool ) – 大纲项目字体为斜体

  • fit ( Fit ) – 目标页面的适合度。

 append(fileobj: Union[str, IO, PdfReader, Path]outline_item: Optional[str] = Nonepages: Union[None, PageRange, Tuple[int, int], Tuple[int, int, int], List[int]] = Noneimport_outline: bool = True)→ None

与​merge()​方法相同,但假设您要将所有页面连接到文件末尾而不是指定位置。

参数
  • fileobj – 文件对象或支持类似于文件对象的标准读取和查找方法的对象。也可以是表示 PDF 文件路径的字符串。

  • outline_item ( str ) – 或者,您可以通过提供大纲项的文本来指定要在包含文件的开头应用的大纲项(以前称为“书签”)。

  • pages – 可以是一个PageRange 或一个​(start, stop[, step])​元组,仅将指定范围的页面从源文档合并到输出文档中。也可以是要追加的页面列表。

  • import_outline ( bool ) – 您可以通过将其指定为​False​ 来阻止导入源文档的大纲(大纲项目的集合,以前称为“书签”)。

close()→ None

关闭所有文件描述符(输入和输出)并清除所有内存使用情况。

find_bookmark(outline_item: Dict[str, Any], root: Optional[List[Union[Destination, List[Union[Destination, List[Destination]]]]]] = None)→ Optional[List[int]]

2.9.0 版后已弃用:改为使用​find_outline_item()​。

 find_outline_item(outline_item: Dict[str, Any], root: Optional[List[Union[Destination, List[Union[Destination, List[Destination]]]]]] = None)→ Optional[List[int]]

merge(page_number: Optional[int] = None, fileobj: Union[Path, str, IO, PdfReader] = None, outline_item: Optional[str] = None, pages: Optional[Union[str, PageRange, Tuple[int, int], Tuple[int, int, int], List[int]]] = None, import_outline: bool = True, position: Optional[int] = None)→ None

将给定文件中的页面合并到指定页码处的输出文件中。

参数
  • page_number ( int ) –插入此文件的页码。文件将被插入到给定的编号之后。

  • fileobj – 文件对象或支持类似于文件对象的标准读取和查找方法的对象。也可以是表示 PDF 文件路径的字符串。

  • outline_item ( str ) – 或者,您可以通过提供大纲项的文本来指定要在包含文件的开头应用的大纲项(以前称为“书签”)。

  • pages – 可以是一个​PageRange ​或一个​(start, stop[, step])​元组,仅将指定范围的页面从源文档合并到输出文档中。也可以是要合并的页面列表。

  • import_outline ( bool ) – 您可以通过将其指定为​False​来阻止导入源文档的大纲(大纲项目的集合,以前称为“书签”)。

setPageLayout(layout: typing_extensions.Literal[/NoLayout, /SinglePage, /OneColumn, /TwoColumnLeft, /TwoColumnRight, /TwoPageLeft, /TwoPageRight])→ None

1.28.0 版后已弃用:改为使用set_page_layout()

setPageMode(mode: typing_extensions.Literal[/UseNone, /UseOutlines, /UseThumbs, /FullScreen, /UseOC, /UseAttachments])→ None

1.28.0 版后已弃用:改为使用set_page_mode()

set_page_layout(layout: typing_extensions.Literal[/NoLayout, /SinglePage, /OneColumn, /TwoColumnLeft, /TwoColumnRight, /TwoPageLeft, /TwoPageRight])→ None

设置页面布局。

参数  layout (str) – 要使用的页面布局
有效的 layout 参数

/NoLayout

未明确指定布局

/SinglePage

一次显示一页

/OneColumn

一次显示一列

/TwoColumnLeft

分两列显示页面,左侧为奇数页

/TwoColumnRight

分两列显示页面,奇数页在右边

/TwoPageLeft

一次显示两页,奇数页在左边

/TwoPageRight

一次显示两页,奇数页在右边

set_page_mode(mode: typing_extensions.Literal[/UseNone, /UseOutlines, /UseThumbs, /FullScreen, /UseOC, /UseAttachments])→ None

设置页面模式。

参数 mode (str) – 要使用的页面模式
有效的 mode 值

/UseNone

不显示大纲或缩略图面板

/UseOutlines

显示大纲(又名书签)面板

/UseThumbs

显示页面缩略图面板

/FullScreen

全屏视图

/UseOC

显示可选内容组(OCG)面板

/UseAttachments

显示附件面板

write(fileobj: Union[Path, str, IO])→ None

将所有已合并的数据写入给定的输出文件。

参数

fileobj——输出文件。可以是文件名或任何类型的类似文件的对象。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号