Skip to content

页面对象

福昕 PDF SDK iOS 版通过 Core SDK 提供了对 PDF 页面图形对象(Graphics Objects)的操作能力,支持在页面上添加、修改和删除文本对象、图片对象和路径对象。

核心类

说明
FSGraphicsObjects页面图形对象集合,通过 [FSPDFPage getGraphicsObjects] 获取
FSGraphicsObject图形对象基类
FSTextObject文本对象,支持设置文本内容、字体、颜色等
FSImageObject图片对象,支持从 Bitmap 或 Image 创建
FSPathObject路径对象,支持绘制自定义形状

示例:在页面上添加文本对象

objc
#import <FoxitRDK/FSPDFObjC.h>

FSPDFDoc *doc = [[FSPDFDoc alloc] initWithPath:@"path/to/Sample.pdf"];
[doc load:nil];
FSPDFPage *page = [doc getPage:0];
[page startParse:FSPDFPageParsePageNormal pause:nil is_reparse:NO];

// 创建文本对象
FSTextObject *textObj = [FSTextObject create];

// 设置文本内容
[textObj setText:@"Hello, Foxit!"];

// 设置字体和样式
FSTextState *textState = [[FSTextState alloc] init];
[textState setFont:[[FSFont alloc] initWithStandard_id:FSFontStdIDHelvetica]];
[textState setFont_size:24.0f];
[textState setTextcolor:0xFF000000];
[textObj setTextState:page text_state:textState is_italic:NO weight:400];

// 设置位置
FSMatrix2D *matrix = [[FSMatrix2D alloc] initWithA1:1 b1:0 c1:0 d1:1 e1:100 f1:700];
[textObj setMatrix:matrix];

// 添加到页面
FSGraphicsObjects *graphicsObjects = [page getGraphicsObjects];
[graphicsObjects insertObject:FSGraphicsObject.e_TypeText index:-1 graphics_object:textObj];
[page generateContent];

[doc saveAs:@"path/to/output.pdf" saveFlags:FSPDFDocSaveFlagNormal];

示例:在页面上添加图片对象

objc
// 创建图片对象
FSImageObject *imageObj = [FSImageObject create:doc];

// 从文件加载图片
FSImage *image = [[FSImage alloc] initWithPath:@"path/to/image.png"];
[imageObj setImage:image frame_index:0];

// 设置位置和大小
FSMatrix2D *matrix = [[FSMatrix2D alloc] initWithA1:200 b1:0 c1:0 d1:200 e1:100 f1:400];
[imageObj setMatrix:matrix];

// 添加到页面
FSGraphicsObjects *graphicsObjects = [page getGraphicsObjects];
[graphicsObjects insertObject:FSGraphicsObject.e_TypeImage index:-1 graphics_object:imageObj];
[page generateContent];

[doc saveAs:@"path/to/output.pdf" saveFlags:FSPDFDocSaveFlagNormal];

API 参考

FSTextObjectFSImageObjectFSPathObjectFSGraphicsObjects 的完整接口说明请参阅 API 手册