SuperAPI AI 工具集

pdfium-impl-page-objects-edit

办公与效率

查看项目

更新于 10-15 22:18

技能介绍

用途:在 pdfium-render 中修改 PDF 页面的页面对象集合(文本、路径、图片、着色、XObject 表单对象),包括创建、增删、用 PdfMatrix 变换,以及通过 PdfPageGroupObject 和 copy_to_page / move_to_page 在页面间迁移对象。读取与检查已有对象见 pdfium-syntax-page-objects;整页复制见 pdfium-impl-multi-page;坐标见 pdfium-core-coordinates;保存见 pdfium-impl-saving。默认 API 为 0.9.x。

主要能力:可变集合用 page.objects_mut();一步创建并添加图片用 objects.create_image_object(x, y, &image, w, h),路径有 create_path_object_line/bezier/rect/circle/ellipse 等,另有 create_text_object;也可先构建游离对象再附加,如 PdfPageImageObject::new(&document, &image) 后 objects.add_image_object(obj)。删除用 remove_object(obj) 或 remove_object_at_index(i)。变换用 object.apply_matrix(matrix),PdfMatrix 工厂方法含 translate、scale、rotate_clockwise_degrees 等,均返回 Result 可链式 ?。迁移用 object.copy_to_page(&mut page) / move_to_page(&mut page),组对象同样支持。

必要用法与限制:修改必须调用 objects_mut(),objects() 返回不可变引用,create_/add_/remove_ 均需 &mut self。同一对象不可同时用 create_* 和 add_,否则重复或失败。set_matrix() 在 0.8.15 弃用、0.9.0 移除,应改用 apply_matrix() 或 reset_matrix()。delete_object 系列在 0.7.4 更名为 remove_object。不要手工先删后加来迁移对象,会触发借用检查错误,应使用 move_to_page()。PdfPageGroupObject::copy_onto_new_page_ 在 0.9.0 移除,改用 copy_to_page()。跨文档移动会报 CannotMoveObjectAcrossDocuments。

适用场景:图片盖印、路径绘制、对象缩放旋转、页面间对象复制或移动等 PDF 编辑任务。参考文件含 methods.md、examples.md、anti-patterns.md。