Skip to content

背景

背景指文档页面的底层图层或底纹,用于呈现文档的基础视觉效果。添加背景可以改变文档的外观,使其更具个性化或专业性,可以用于强调品牌,保护版权,或提高文档的阅读体验。

在 PDF 文档中只能存在一个背景,对包含背景的文档页面添加背景会覆盖旧的背景。

设置颜色背景

设置颜色背景的步骤如下:

  1. 获取文档背景对象。

  2. 设置背景类型为颜色。

  3. 设置背景的属性。

  4. 将背景更新到文档上。

以下是设置颜色背景的示例代码:

swift
let url = URL(fileURLWithPath: "File Path")
let document = CPDFDocument(url: url)

let background = document?.background()
background?.type = .color
background?.color = .black // 背景颜色(图像背景不起作用)。
background?.opacity = 1.0 // 背景透明度,取值范围为0~1,默认为1。
background?.scale = 1.0 // 背景平铺比例。
background?.rotation = 0 // 背景旋转角度,取值范围为0~360,默认为0(以页面中心旋转)。
background?.horizontalAlignment = 1 // 背景水平对齐方式。`0`表示左对齐,`1`表示居中对齐,`2`表示右对齐。
background?.verticalAlignment = 1 // 背景垂直对齐方式。`0`表示顶部对齐,`1`表示居中对齐,`2`表示底部对齐。
background?.xOffset = 0 // 背景的水平偏移量。正数向右偏移,负数向左偏移。
background?.yOffset = 0 // 背景的垂直偏移量。正数向下偏移,负数向上偏移。

background?.pageString = "0,1,2" // 背景页面范围,例如"0,3,5-7"。

background?.update()
objective-c
NSURL *url = [NSURL fileURLWithPath:@""];
CPDFDocument *document = [[CPDFDocument alloc] initWithURL:url];

CPDFBackground *background = document.background;
background.type = CPDFBackgroundTypeColor;
background.color = [UIColor blackColor]; // 背景颜色(图像背景不起作用)。
background.opacity = 1.0; // 背景透明度,取值范围为0~1,默认为1。
background.scale = 1.0; // 背景平铺比例。
background.rotation = 0; // 背景旋转角度,取值范围为0~360,默认为0(以页面中心旋转)。
background.horizontalAlignment = 1; // 背景水平对齐方式。`0`表示左对齐,`1`表示居中对齐,`2`表示右对齐。
background.verticalAlignment = 1; // 背景垂直对齐方式。`0`表示顶部对齐,`1`表示居中对齐,`2`表示底部对齐。
background.xOffset = 0; // 背景的水平偏移量。正数向右偏移,负数向左偏移。
background.yOffset = 0; // 背景的垂直偏移量。正数向下偏移,负数向上偏移。

background.pageString = @"0,1,2"; // 背景页面范围,例如"0,3,5-7"。

[background update];

设置图片背景

设置图片背景的步骤如下:

  1. 获取文档背景对象。

  2. 设置背景类型为图片。

  3. 设置背景属性。

  4. 将背景更新到文档上。

以下是设置图片背景的代码:

swift
let url = URL(fileURLWithPath: "File Path")
let document = CPDFDocument(url: url)

let imagePath = ""
if let image = UIImage(contentsOfFile: imagePath) {
    let background = document?.background()
    background?.setImage(image)
    background?.type = .image
    background?.opacity = 1.0 // 背景透明度,取值范围为0~1,默认为1
    background?.scale = 1.0 // 背景图像重复
    background?.rotation = 0 // 背景旋转角度,取值范围为0~360,默认为0(以页面中心旋转)
    background?.horizontalAlignment = 1 // 背景垂直对齐方式。`0`表示顶部对齐,`1`表示居中对齐,`2`表示底部对齐
    background?.verticalAlignment = 1 // 背景水平对齐方式。`0`表示左对齐,`1`表示居中对齐,`2`表示右对齐
    background?.xOffset = 0 // 背景的水平偏移量。正数向右偏移,负数向左偏移
    background?.yOffset = 0 // 背景的垂直偏移量。正数向下偏移,负数向上偏移
    background?.pageString = "0,1,2" // 通过字符串设置背景的页面范围,例如"0,3或5-7"
    
    background?.update()
}
objective-c
NSURL *url = [NSURL fileURLWithPath:@""];
CPDFDocument *document = [[CPDFDocument alloc] initWithURL:url];

NSString *imagePath = @"";
UIImage *image = [[UIImage alloc] initWithContentsOfFile:imagePath];

CPDFBackground *background = document.background;
[background setImage:image];
background.type = CPDFBackgroundTypeImage;
background.opacity = 1.0; // 背景透明度,取值范围为0~1,默认为1
background.scale = 1.0; // 背景图像重复
background.rotation = 0; // 背景旋转角度,取值范围为0~360,默认为0(以页面中心旋转)
background.horizontalAlignment = 1; // 背景垂直对齐方式。`0`表示顶部对齐,`1`表示居中对齐,`2`表示底部对齐
background.verticalAlignment = 1; // 背景水平对齐方式。`0`表示左对齐,`1`表示居中对齐,`2`表示右对齐
background.xOffset = 0; // 背景的水平偏移量。正数向右偏移,负数向左偏移
background.yOffset = 0; // 背景的垂直偏移量。正数向下偏移,负数向上偏移
background.pageString = @"0,1,2"; // 通过字符串设置背景的页面范围,例如"0,3或5-7"

[background update];

删除背景

删除背景的步骤如下:

  1. 获取文档背景对象。

  2. 删除文档背景。

以下是删除背景的代码:

swift
let background = document?.background()

background?.clear()
objective-c
CPDFBackground *background = [document background];
    
[background clear];