pdf_oxide 0.3.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Gemfile +16 -0
- data/LICENSE +176 -0
- data/LICENSE-APACHE +176 -0
- data/LICENSE-MIT +25 -0
- data/README.md +122 -0
- data/lib/pdf_oxide/auto_extractor.rb +157 -0
- data/lib/pdf_oxide/document_editor.rb +235 -0
- data/lib/pdf_oxide/errors.rb +58 -0
- data/lib/pdf_oxide/ffi/bindings.rb +1694 -0
- data/lib/pdf_oxide/ffi/library.rb +98 -0
- data/lib/pdf_oxide/ffi/string_marshaller.rb +45 -0
- data/lib/pdf_oxide/markdown_converter.rb +52 -0
- data/lib/pdf_oxide/pdf.rb +218 -0
- data/lib/pdf_oxide/pdf_document.rb +411 -0
- data/lib/pdf_oxide/pdf_page.rb +71 -0
- data/lib/pdf_oxide/pdf_policy.rb +64 -0
- data/lib/pdf_oxide/pdf_signer.rb +155 -0
- data/lib/pdf_oxide/pdf_validator.rb +97 -0
- data/lib/pdf_oxide/version.rb +5 -0
- data/lib/pdf_oxide.rb +60 -0
- metadata +197 -0
|
@@ -0,0 +1,1694 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'ffi'
|
|
4
|
+
require_relative 'library'
|
|
5
|
+
|
|
6
|
+
module PdfOxide
|
|
7
|
+
module FFI
|
|
8
|
+
# All FFI function bindings for PDF Oxide library
|
|
9
|
+
# Total: 315+ functions covering all PDF operations
|
|
10
|
+
module Bindings
|
|
11
|
+
extend ::FFI::Library
|
|
12
|
+
|
|
13
|
+
# Load native library
|
|
14
|
+
begin
|
|
15
|
+
ffi_lib(Library.library_path)
|
|
16
|
+
rescue LoadError => e
|
|
17
|
+
raise ::PdfOxide::InternalError, "Failed to load PDF Oxide native library: #{e.message}. " \
|
|
18
|
+
'Make sure libpdf_oxide is installed.'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# ============================================================
|
|
22
|
+
# ERROR HANDLING & MEMORY MANAGEMENT
|
|
23
|
+
# ============================================================
|
|
24
|
+
|
|
25
|
+
# ============================================================
|
|
26
|
+
# UTILITY FUNCTIONS (16 total)
|
|
27
|
+
# ============================================================
|
|
28
|
+
|
|
29
|
+
# REMOVED phantom (no upstream symbol): :alloc_string (1 line)
|
|
30
|
+
attach_function :free_string, [:pointer], :void
|
|
31
|
+
attach_function :free_bytes, [:pointer], :void
|
|
32
|
+
|
|
33
|
+
# Document Editor Operations (13)
|
|
34
|
+
attach_function :document_editor_open, %i[string pointer], :pointer
|
|
35
|
+
attach_function :document_editor_free, [:pointer], :void
|
|
36
|
+
attach_function :document_editor_save, %i[pointer string pointer], :bool
|
|
37
|
+
attach_function :document_editor_get_page_count, %i[pointer pointer], :int32
|
|
38
|
+
# char *document_editor_get_source_path(const DocumentEditor *handle, int32_t *error_code)
|
|
39
|
+
# Owned-char* — bind as :pointer so the caller can free via StringMarshaller.
|
|
40
|
+
attach_function :document_editor_get_source_path, %i[pointer pointer], :pointer
|
|
41
|
+
# REMOVED phantom (no upstream symbol): :document_editor_get_title
|
|
42
|
+
# REMOVED phantom (no upstream symbol): :document_editor_get_author
|
|
43
|
+
# REMOVED phantom (no upstream symbol): :document_editor_get_subject
|
|
44
|
+
# void document_editor_get_version(const DocumentEditor *handle,
|
|
45
|
+
# uint8_t *major, uint8_t *minor)
|
|
46
|
+
attach_function :document_editor_get_version, %i[pointer pointer pointer], :void
|
|
47
|
+
attach_function :document_editor_set_title, %i[pointer string pointer], :bool
|
|
48
|
+
attach_function :document_editor_set_author, %i[pointer string pointer], :bool
|
|
49
|
+
attach_function :document_editor_set_subject, %i[pointer string pointer], :bool
|
|
50
|
+
attach_function :document_editor_is_modified, [:pointer], :bool
|
|
51
|
+
|
|
52
|
+
# ============================================================
|
|
53
|
+
# DOCUMENT OPERATIONS
|
|
54
|
+
# ============================================================
|
|
55
|
+
|
|
56
|
+
# Core document operations
|
|
57
|
+
attach_function :pdf_document_open, %i[string pointer], :pointer
|
|
58
|
+
attach_function :pdf_document_free, [:pointer], :void
|
|
59
|
+
attach_function :pdf_document_get_page_count, %i[pointer pointer], :int32
|
|
60
|
+
# bool pdf_document_is_encrypted(const PdfDocument *handle) — no err arg
|
|
61
|
+
attach_function :pdf_document_is_encrypted, [:pointer], :bool
|
|
62
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_requires_password (1 line)
|
|
63
|
+
|
|
64
|
+
# Document metadata
|
|
65
|
+
# void pdf_document_get_version(const PdfDocument *handle,
|
|
66
|
+
# uint8_t *major, uint8_t *minor)
|
|
67
|
+
attach_function :pdf_document_get_version, %i[pointer pointer pointer], :void
|
|
68
|
+
attach_function :pdf_document_has_structure_tree, [:pointer], :bool
|
|
69
|
+
|
|
70
|
+
# ============================================================
|
|
71
|
+
# TEXT EXTRACTION
|
|
72
|
+
# ============================================================
|
|
73
|
+
|
|
74
|
+
# Owned-`char *` extraction APIs. Declared as :pointer (NOT :string)
|
|
75
|
+
# so callers can free the buffer via StringMarshaller.from_c_string,
|
|
76
|
+
# which delegates to free_string. Ruby FFI's :string copies the C
|
|
77
|
+
# bytes but never calls free_string → leaks one full-document buffer
|
|
78
|
+
# per call.
|
|
79
|
+
attach_function :pdf_document_extract_text, %i[pointer int32 pointer], :pointer
|
|
80
|
+
attach_function :pdf_document_to_markdown, %i[pointer int32 pointer], :pointer
|
|
81
|
+
attach_function :pdf_document_to_markdown_all, %i[pointer pointer], :pointer
|
|
82
|
+
attach_function :pdf_document_to_html, %i[pointer int32 pointer], :pointer
|
|
83
|
+
attach_function :pdf_document_to_plain_text, %i[pointer int32 pointer], :pointer
|
|
84
|
+
|
|
85
|
+
# ============================================================
|
|
86
|
+
# SEARCH OPERATIONS (15 functions)
|
|
87
|
+
# ============================================================
|
|
88
|
+
|
|
89
|
+
attach_function :pdf_document_search_page, %i[pointer string int32 bool pointer], :pointer
|
|
90
|
+
attach_function :pdf_document_search_all, %i[pointer string bool pointer], :pointer
|
|
91
|
+
attach_function :pdf_oxide_search_result_count, [:pointer], :int32
|
|
92
|
+
# Each accessor takes the results handle + index + an int32* error
|
|
93
|
+
# buffer. The trailing pointer is REQUIRED — omitting it caused
|
|
94
|
+
# the cdylib to dereference register garbage as the err pointer
|
|
95
|
+
# and segfault on aarch64/macOS-arm64 (issue #547 v0.3.55 CI).
|
|
96
|
+
attach_function :pdf_oxide_search_result_get_page, %i[pointer int32 pointer], :int32
|
|
97
|
+
# Returns owned char* — bind as :pointer + StringMarshaller to
|
|
98
|
+
# free via free_string. Declaring as :string leaked the buffer
|
|
99
|
+
# AND read past the missing err arg.
|
|
100
|
+
attach_function :pdf_oxide_search_result_get_text, %i[pointer int32 pointer], :pointer
|
|
101
|
+
attach_function :pdf_oxide_search_result_get_bbox,
|
|
102
|
+
%i[pointer int32 pointer pointer pointer pointer pointer], :void
|
|
103
|
+
attach_function :pdf_oxide_search_result_free, [:pointer], :void
|
|
104
|
+
|
|
105
|
+
# ============================================================
|
|
106
|
+
# PAGE OPERATIONS (30 functions)
|
|
107
|
+
# ============================================================
|
|
108
|
+
|
|
109
|
+
# ============================================================
|
|
110
|
+
# RENDERING OPERATIONS (25 functions)
|
|
111
|
+
# ============================================================
|
|
112
|
+
|
|
113
|
+
# REMOVED phantom (no upstream symbol): :pdf_render_page_to_file (1 line)
|
|
114
|
+
# REMOVED phantom (no upstream symbol): :pdf_render_page_to_bytes (1 line)
|
|
115
|
+
# REMOVED phantom (no upstream symbol): :pdf_render_page_range (1 line)
|
|
116
|
+
# REMOVED phantom (no upstream symbol): :pdf_render_document (1 line)
|
|
117
|
+
attach_function :pdf_render_page_fit, %i[pointer int32 int32 int32 int32 pointer], :pointer
|
|
118
|
+
attach_function :pdf_render_page_zoom, %i[pointer int32 float int32 pointer], :pointer
|
|
119
|
+
attach_function :pdf_render_page_region, %i[pointer int32 float float float float int32 pointer], :pointer
|
|
120
|
+
# FfiRenderedImage *pdf_render_page_thumbnail(PdfDocument *doc, int32_t page_index, int32_t _size, int32_t format, int32_t *error_code)
|
|
121
|
+
attach_function :pdf_render_page_thumbnail, %i[pointer int32 int32 int32 pointer], :pointer
|
|
122
|
+
# REMOVED phantom (no upstream symbol): :pdf_rendered_image_width (1 line)
|
|
123
|
+
# REMOVED phantom (no upstream symbol): :pdf_rendered_image_height (1 line)
|
|
124
|
+
# REMOVED phantom (no upstream symbol): :pdf_rendered_image_size (1 line)
|
|
125
|
+
# REMOVED phantom (no upstream symbol): :pdf_rendered_image_data (1 line)
|
|
126
|
+
# REMOVED phantom (no upstream symbol): :pdf_rendered_image_to_base64 (1 line)
|
|
127
|
+
# REMOVED phantom (no upstream symbol): :pdf_rendered_image_save (1 line)
|
|
128
|
+
attach_function :pdf_rendered_image_free, [:pointer], :void
|
|
129
|
+
|
|
130
|
+
# ============================================================
|
|
131
|
+
# ANNOTATION OPERATIONS (20 functions)
|
|
132
|
+
# ============================================================
|
|
133
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_annotations (1 line)
|
|
134
|
+
attach_function :pdf_oxide_annotation_count, [:pointer], :int32
|
|
135
|
+
# char *pdf_oxide_annotation_get_type(const FfiAnnotationList *annotations, int32_t index, int32_t *error_code)
|
|
136
|
+
# Pre-v0.3.55 declared as 2-arg `:int32` — wrong arg count AND wrong
|
|
137
|
+
# return type (C returns owned char*). Both fixed here.
|
|
138
|
+
attach_function :pdf_oxide_annotation_get_type, %i[pointer int32 pointer], :pointer
|
|
139
|
+
|
|
140
|
+
# ============================================================
|
|
141
|
+
# FORM OPERATIONS (20 functions)
|
|
142
|
+
# ============================================================
|
|
143
|
+
|
|
144
|
+
# Form field operations
|
|
145
|
+
# REMOVED phantom (no upstream symbol): :pdf_form_export_to_fdf (1 line)
|
|
146
|
+
# REMOVED phantom (no upstream symbol): :pdf_form_export_to_xfdf (1 line)
|
|
147
|
+
# REMOVED phantom (no upstream symbol): :pdf_form_export_to_json (1 line)
|
|
148
|
+
attach_function :pdf_form_import_from_file, %i[pointer string pointer], :bool
|
|
149
|
+
# REMOVED phantom (no upstream symbol): :pdf_form_reset_all_fields (1 line)
|
|
150
|
+
# REMOVED phantom (no upstream symbol): :pdf_form_field_find_by_name (1 line)
|
|
151
|
+
# REMOVED phantom (no upstream symbol): :pdf_form_field_set_value_by_name_string (1 line)
|
|
152
|
+
# REMOVED phantom (no upstream symbol): :pdf_form_field_set_value_by_name_boolean (1 line)
|
|
153
|
+
|
|
154
|
+
# ============================================================
|
|
155
|
+
# FONT OPERATIONS (15 functions)
|
|
156
|
+
# ============================================================
|
|
157
|
+
|
|
158
|
+
attach_function :pdf_document_get_embedded_fonts, %i[pointer int32 pointer], :pointer
|
|
159
|
+
attach_function :pdf_oxide_font_count, [:pointer], :int32
|
|
160
|
+
# Font accessors all share (fonts, index, int32_t *error_code).
|
|
161
|
+
# Owned-char* return for `_get_name` — bind as :pointer.
|
|
162
|
+
attach_function :pdf_oxide_font_get_name, %i[pointer int32 pointer], :pointer
|
|
163
|
+
attach_function :pdf_oxide_font_get_size, %i[pointer int32 pointer], :float
|
|
164
|
+
attach_function :pdf_oxide_font_is_embedded, %i[pointer int32 pointer], :int32
|
|
165
|
+
attach_function :pdf_oxide_font_list_free, [:pointer], :void
|
|
166
|
+
|
|
167
|
+
# ============================================================
|
|
168
|
+
# IMAGE OPERATIONS (20 functions)
|
|
169
|
+
# ============================================================
|
|
170
|
+
|
|
171
|
+
attach_function :pdf_document_get_embedded_images, %i[pointer int32 pointer], :pointer
|
|
172
|
+
attach_function :pdf_oxide_image_count, [:pointer], :int32
|
|
173
|
+
# Image accessors: (images, index, int32_t *error_code) → int32.
|
|
174
|
+
attach_function :pdf_oxide_image_get_width, %i[pointer int32 pointer], :int32
|
|
175
|
+
attach_function :pdf_oxide_image_get_height, %i[pointer int32 pointer], :int32
|
|
176
|
+
attach_function :pdf_oxide_image_get_bits_per_component, %i[pointer int32 pointer], :int32
|
|
177
|
+
attach_function :pdf_oxide_image_list_free, [:pointer], :void
|
|
178
|
+
|
|
179
|
+
# ============================================================
|
|
180
|
+
# OUTLINE/BOOKMARK OPERATIONS (4 functions)
|
|
181
|
+
# ============================================================
|
|
182
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_outline_count (1 line)
|
|
183
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_outline_title (1 line)
|
|
184
|
+
|
|
185
|
+
# ============================================================
|
|
186
|
+
# LAYER OPERATIONS (3 functions)
|
|
187
|
+
# ============================================================
|
|
188
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_layer_count (1 line)
|
|
189
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_layer_name (1 line)
|
|
190
|
+
|
|
191
|
+
# ============================================================
|
|
192
|
+
# METADATA OPERATIONS (12 functions)
|
|
193
|
+
# ============================================================
|
|
194
|
+
|
|
195
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_title (1 line)
|
|
196
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_author (1 line)
|
|
197
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_subject (1 line)
|
|
198
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_keywords (1 line)
|
|
199
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_creator (1 line)
|
|
200
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_producer (1 line)
|
|
201
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_creation_date (1 line)
|
|
202
|
+
|
|
203
|
+
# ============================================================
|
|
204
|
+
# OCR OPERATIONS (15 functions)
|
|
205
|
+
# ============================================================
|
|
206
|
+
|
|
207
|
+
attach_function :pdf_ocr_engine_free, [:pointer], :void
|
|
208
|
+
|
|
209
|
+
# ============================================================
|
|
210
|
+
# DIGITAL SIGNATURE OPERATIONS (15 functions)
|
|
211
|
+
# ============================================================
|
|
212
|
+
|
|
213
|
+
# Phase 1 signing functions
|
|
214
|
+
# REMOVED phantom (no upstream symbol): :pdf_credentials_from_pkcs12 (1 line)
|
|
215
|
+
# REMOVED phantom (no upstream symbol): :pdf_credentials_from_pem (1 line)
|
|
216
|
+
# REMOVED phantom (no upstream symbol): :pdf_credentials_free (1 line)
|
|
217
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_sign_data (8 lines)
|
|
218
|
+
#
|
|
219
|
+
#
|
|
220
|
+
#
|
|
221
|
+
#
|
|
222
|
+
#
|
|
223
|
+
#
|
|
224
|
+
#
|
|
225
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_sign_file (7 lines)
|
|
226
|
+
#
|
|
227
|
+
#
|
|
228
|
+
#
|
|
229
|
+
#
|
|
230
|
+
#
|
|
231
|
+
#
|
|
232
|
+
# REMOVED phantom (no upstream symbol): :pdf_embed_ltv_data (7 lines)
|
|
233
|
+
#
|
|
234
|
+
#
|
|
235
|
+
#
|
|
236
|
+
#
|
|
237
|
+
#
|
|
238
|
+
#
|
|
239
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_save_signed (5 lines)
|
|
240
|
+
#
|
|
241
|
+
#
|
|
242
|
+
#
|
|
243
|
+
#
|
|
244
|
+
# REMOVED phantom (no upstream symbol): :pdf_signed_bytes_free (1 line)
|
|
245
|
+
|
|
246
|
+
# ============================================================
|
|
247
|
+
# BARCODE OPERATIONS (6 functions)
|
|
248
|
+
# ============================================================
|
|
249
|
+
|
|
250
|
+
# ============================================================
|
|
251
|
+
# COMPLIANCE OPERATIONS (20 functions)
|
|
252
|
+
# ============================================================
|
|
253
|
+
|
|
254
|
+
# ============================================================
|
|
255
|
+
# CACHE OPERATIONS (5 functions)
|
|
256
|
+
# ============================================================
|
|
257
|
+
|
|
258
|
+
# REMOVED phantom (no upstream symbol): :pdf_cache_clear (1 line)
|
|
259
|
+
# REMOVED phantom (no upstream symbol): :pdf_cache_invalidate_page (1 line)
|
|
260
|
+
# REMOVED phantom (no upstream symbol): :pdf_cache_get_statistics (1 line)
|
|
261
|
+
# REMOVED phantom (no upstream symbol): :pdf_cache_set_max_size (1 line)
|
|
262
|
+
|
|
263
|
+
# ============================================================
|
|
264
|
+
# ANALYSIS OPERATIONS (10 functions)
|
|
265
|
+
# ============================================================
|
|
266
|
+
|
|
267
|
+
# ============================================================
|
|
268
|
+
# CONVERSION OPERATIONS (10 functions)
|
|
269
|
+
# ============================================================
|
|
270
|
+
|
|
271
|
+
# ============================================================
|
|
272
|
+
# XFA FORM OPERATIONS (12 functions)
|
|
273
|
+
# ============================================================
|
|
274
|
+
|
|
275
|
+
attach_function :pdf_document_has_xfa, %i[pointer pointer], :bool
|
|
276
|
+
# REMOVED phantom (no upstream symbol): :pdf_parse_xfa_form (1 line)
|
|
277
|
+
# REMOVED phantom (no upstream symbol): :pdf_xfa_form_free (1 line)
|
|
278
|
+
# REMOVED phantom (no upstream symbol): :pdf_xfa_form_field_count (1 line)
|
|
279
|
+
# REMOVED phantom (no upstream symbol): :pdf_xfa_form_get_field (1 line)
|
|
280
|
+
# REMOVED phantom (no upstream symbol): :pdf_xfa_field_get_name (1 line)
|
|
281
|
+
# REMOVED phantom (no upstream symbol): :pdf_xfa_field_free (1 line)
|
|
282
|
+
# REMOVED phantom (no upstream symbol): :pdf_xfa_form_get_dataset (1 line)
|
|
283
|
+
# REMOVED phantom (no upstream symbol): :pdf_xfa_dataset_to_xml (1 line)
|
|
284
|
+
# REMOVED phantom (no upstream symbol): :pdf_xfa_dataset_free (1 line)
|
|
285
|
+
# REMOVED phantom (no upstream symbol): :pdf_convert_xfa_to_acroform (1 line)
|
|
286
|
+
|
|
287
|
+
# ============================================================
|
|
288
|
+
# ANALYSIS/ML OPERATIONS (12 functions)
|
|
289
|
+
# ============================================================
|
|
290
|
+
|
|
291
|
+
# REMOVED phantom (no upstream symbol): :pdf_analyze_page (1 line)
|
|
292
|
+
# REMOVED phantom (no upstream symbol): :pdf_analysis_get_complexity (1 line)
|
|
293
|
+
# REMOVED phantom (no upstream symbol): :pdf_analysis_get_complexity_score (1 line)
|
|
294
|
+
# REMOVED phantom (no upstream symbol): :pdf_analysis_get_content_type (1 line)
|
|
295
|
+
# REMOVED phantom (no upstream symbol): :pdf_analysis_get_text_density (1 line)
|
|
296
|
+
# REMOVED phantom (no upstream symbol): :pdf_analysis_get_image_density (1 line)
|
|
297
|
+
# REMOVED phantom (no upstream symbol): :pdf_analysis_result_free (1 line)
|
|
298
|
+
# REMOVED phantom (no upstream symbol): :pdf_analyze_document (1 line)
|
|
299
|
+
# REMOVED phantom (no upstream symbol): :pdf_estimate_processing_time (1 line)
|
|
300
|
+
# REMOVED phantom (no upstream symbol): :pdf_detect_columns (1 line)
|
|
301
|
+
# REMOVED phantom (no upstream symbol): :pdf_detect_tables (1 line)
|
|
302
|
+
# REMOVED phantom (no upstream symbol): :pdf_ml_get_status (1 line)
|
|
303
|
+
|
|
304
|
+
# ============================================================
|
|
305
|
+
# ADDITIONAL RENDERING OPERATIONS (15 functions)
|
|
306
|
+
# ============================================================
|
|
307
|
+
# REMOVED phantom (no upstream symbol): :pdf_page_renderer_create (1 line)
|
|
308
|
+
# REMOVED phantom (no upstream symbol): :pdf_page_renderer_set_options (1 line)
|
|
309
|
+
# REMOVED phantom (no upstream symbol): :pdf_page_renderer_free (1 line)
|
|
310
|
+
# REMOVED phantom (no upstream symbol): :pdf_renderer_get_statistics (1 line)
|
|
311
|
+
# REMOVED phantom (no upstream symbol): :pdf_renderer_reset_statistics (1 line)
|
|
312
|
+
# REMOVED phantom (no upstream symbol): :pdf_rendered_image_convert (1 line)
|
|
313
|
+
|
|
314
|
+
# ============================================================
|
|
315
|
+
# ADDITIONAL OCR OPERATIONS (12 functions)
|
|
316
|
+
# ============================================================
|
|
317
|
+
|
|
318
|
+
attach_function :pdf_ocr_engine_create, %i[pointer pointer], :pointer
|
|
319
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_engine_get_version (1 line)
|
|
320
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_engine_get_status (1 line)
|
|
321
|
+
attach_function :pdf_ocr_page_needs_ocr, %i[pointer int32 pointer], :bool
|
|
322
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_detect_page (1 line)
|
|
323
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_recognize_page (1 line)
|
|
324
|
+
# char *pdf_ocr_extract_text(PdfDocument *doc, int32_t page_index, const void *engine, int32_t *error_code)
|
|
325
|
+
# Pre-v0.3.55 had a phantom 5th `bool` arg and a leaky :string return.
|
|
326
|
+
attach_function :pdf_ocr_extract_text, %i[pointer int32 pointer pointer], :pointer
|
|
327
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_extract_spans (1 line)
|
|
328
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_extract_pages (1 line)
|
|
329
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_results_count (1 line)
|
|
330
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_results_get_text (1 line)
|
|
331
|
+
|
|
332
|
+
# ============================================================
|
|
333
|
+
# OCR RESULT ACCESSORS (6 functions)
|
|
334
|
+
# ============================================================
|
|
335
|
+
|
|
336
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_results_average_confidence (1 line)
|
|
337
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_results_free (1 line)
|
|
338
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_span_get_char_confidence (1 line)
|
|
339
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_span_get_bbox (1 line)
|
|
340
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_span_free (1 line)
|
|
341
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_batch_results_get_page (1 line)
|
|
342
|
+
|
|
343
|
+
# ============================================================
|
|
344
|
+
# CERTIFICATE AND SIGNATURE OPERATIONS (8 functions)
|
|
345
|
+
# ============================================================
|
|
346
|
+
|
|
347
|
+
attach_function :pdf_document_get_signature, %i[pointer int32 pointer], :pointer
|
|
348
|
+
attach_function :pdf_signature_free, [:pointer], :void
|
|
349
|
+
attach_function :pdf_certificate_load_from_bytes, %i[pointer size_t string pointer], :pointer
|
|
350
|
+
attach_function :pdf_certificate_free, [:pointer], :void
|
|
351
|
+
attach_function :pdf_document_sign, %i[pointer pointer string string pointer], :bool
|
|
352
|
+
# REMOVED phantom (no upstream symbol): :pdf_signature_get_signer (1 line)
|
|
353
|
+
attach_function :pdf_signature_verify, %i[pointer pointer], :int32
|
|
354
|
+
# REMOVED phantom (no upstream symbol): :pdf_compliance_issue_free (1 line)
|
|
355
|
+
|
|
356
|
+
# ============================================================
|
|
357
|
+
# COMPLIANCE RESULT ACCESSORS (12 functions)
|
|
358
|
+
# ============================================================
|
|
359
|
+
|
|
360
|
+
# REMOVED phantom (no upstream symbol): :pdf_validate_pdf_a (1 line)
|
|
361
|
+
# bool pdf_pdf_a_is_compliant(const FfiPdfAResults *results, int32_t *error_code)
|
|
362
|
+
attach_function :pdf_pdf_a_is_compliant, %i[pointer pointer], :bool
|
|
363
|
+
attach_function :pdf_pdf_a_error_count, [:pointer], :int32
|
|
364
|
+
attach_function :pdf_pdf_a_warning_count, [:pointer], :int32
|
|
365
|
+
attach_function :pdf_pdf_a_get_error, %i[pointer int32 pointer], :pointer
|
|
366
|
+
# REMOVED phantom (no upstream symbol): :pdf_pdf_a_get_warning (1 line)
|
|
367
|
+
# REMOVED phantom (no upstream symbol): :pdf_pdf_a_get_report (1 line)
|
|
368
|
+
attach_function :pdf_pdf_a_results_free, [:pointer], :void
|
|
369
|
+
# REMOVED phantom (no upstream symbol): :pdf_validate_pdf_x (1 line)
|
|
370
|
+
# bool pdf_pdf_x_is_compliant(const FfiPdfXResults *results, int32_t *error_code)
|
|
371
|
+
attach_function :pdf_pdf_x_is_compliant, %i[pointer pointer], :bool
|
|
372
|
+
attach_function :pdf_pdf_x_error_count, [:pointer], :int32
|
|
373
|
+
# REMOVED phantom (no upstream symbol): :pdf_pdf_x_warning_count (1 line)
|
|
374
|
+
|
|
375
|
+
# ============================================================
|
|
376
|
+
# PDF/X RESULT ACCESSORS (6 functions)
|
|
377
|
+
# ============================================================
|
|
378
|
+
|
|
379
|
+
attach_function :pdf_pdf_x_get_error, %i[pointer int32 pointer], :pointer
|
|
380
|
+
# REMOVED phantom (no upstream symbol): :pdf_pdf_x_get_warning (1 line)
|
|
381
|
+
# REMOVED phantom (no upstream symbol): :pdf_pdf_x_get_report (1 line)
|
|
382
|
+
attach_function :pdf_pdf_x_results_free, [:pointer], :void
|
|
383
|
+
attach_function :pdf_validate_pdf_ua, %i[pointer int32 pointer], :pointer
|
|
384
|
+
# bool pdf_pdf_ua_is_accessible(const FfiUaResults *results, int32_t *error_code)
|
|
385
|
+
attach_function :pdf_pdf_ua_is_accessible, %i[pointer pointer], :bool
|
|
386
|
+
|
|
387
|
+
# ============================================================
|
|
388
|
+
# PDF/UA RESULT ACCESSORS (4 functions)
|
|
389
|
+
# ============================================================
|
|
390
|
+
|
|
391
|
+
attach_function :pdf_pdf_ua_error_count, [:pointer], :int32
|
|
392
|
+
attach_function :pdf_pdf_ua_get_error, %i[pointer int32 pointer], :pointer
|
|
393
|
+
attach_function :pdf_pdf_ua_results_free, [:pointer], :void
|
|
394
|
+
attach_function :pdf_convert_to_pdf_a, %i[pointer int32 pointer], :bool
|
|
395
|
+
|
|
396
|
+
# ============================================================
|
|
397
|
+
# CONVERSION OPERATIONS (4 functions)
|
|
398
|
+
# ============================================================
|
|
399
|
+
|
|
400
|
+
# REMOVED phantom (no upstream symbol): :pdf_convert_to_pdf_x (1 line)
|
|
401
|
+
# REMOVED phantom (no upstream symbol): :pdf_convert_to_pdf_ua (1 line)
|
|
402
|
+
|
|
403
|
+
# ============================================================
|
|
404
|
+
# BARCODE OPERATIONS (7 functions)
|
|
405
|
+
# ============================================================
|
|
406
|
+
|
|
407
|
+
# FfiBarcodeImage *pdf_generate_qr_code(const char *data, int32_t error_correction, int32_t size_px, int32_t *error_code)
|
|
408
|
+
attach_function :pdf_generate_qr_code, %i[string int32 int32 pointer], :pointer
|
|
409
|
+
# FfiBarcodeImage *pdf_generate_barcode(const char *data, int32_t format, int32_t size_px, int32_t *error_code)
|
|
410
|
+
# Pre-v0.3.55 had (int32, string, pointer) — args were reordered AND
|
|
411
|
+
# missing the size_px slot.
|
|
412
|
+
attach_function :pdf_generate_barcode, %i[string int32 int32 pointer], :pointer
|
|
413
|
+
attach_function :pdf_barcode_get_image_png, %i[pointer int32 pointer pointer], :pointer
|
|
414
|
+
# char *pdf_barcode_get_svg(const FfiBarcodeImage *handle, int32_t _size_px, int32_t *error_code)
|
|
415
|
+
attach_function :pdf_barcode_get_svg, %i[pointer int32 pointer], :pointer
|
|
416
|
+
attach_function :pdf_barcode_free, [:pointer], :void
|
|
417
|
+
attach_function :pdf_add_barcode_to_page, %i[pointer int32 pointer float float float float pointer], :bool
|
|
418
|
+
# REMOVED phantom (no upstream symbol): :pdf_ml_model_available (1 line)
|
|
419
|
+
|
|
420
|
+
# ============================================================
|
|
421
|
+
# STRATEGY AND EXTRACTION (6 functions)
|
|
422
|
+
# ============================================================
|
|
423
|
+
|
|
424
|
+
# REMOVED phantom (no upstream symbol): :pdf_create_extraction_strategy (1 line)
|
|
425
|
+
# REMOVED phantom (no upstream symbol): :pdf_strategy_get_description (1 line)
|
|
426
|
+
# REMOVED phantom (no upstream symbol): :pdf_strategy_recommends_ocr (1 line)
|
|
427
|
+
# REMOVED phantom (no upstream symbol): :pdf_strategy_free (1 line)
|
|
428
|
+
|
|
429
|
+
# ============================================================
|
|
430
|
+
# ADDITIONAL TEXT OPERATIONS (12 functions)
|
|
431
|
+
# ============================================================
|
|
432
|
+
|
|
433
|
+
# ============================================================
|
|
434
|
+
# ADDITIONAL HELPER FUNCTIONS (60+ functions)
|
|
435
|
+
# ============================================================
|
|
436
|
+
|
|
437
|
+
# Links and embedded files
|
|
438
|
+
|
|
439
|
+
# Font usage
|
|
440
|
+
|
|
441
|
+
# Barcodes
|
|
442
|
+
|
|
443
|
+
# Analysis
|
|
444
|
+
|
|
445
|
+
# Document analysis
|
|
446
|
+
|
|
447
|
+
# Signatures
|
|
448
|
+
|
|
449
|
+
# Signature verification
|
|
450
|
+
|
|
451
|
+
# Certificates
|
|
452
|
+
|
|
453
|
+
# XFA forms
|
|
454
|
+
|
|
455
|
+
# Cache
|
|
456
|
+
|
|
457
|
+
# Text extraction all pages
|
|
458
|
+
|
|
459
|
+
# Document rendering utilities
|
|
460
|
+
|
|
461
|
+
# ML functions
|
|
462
|
+
|
|
463
|
+
# Additional document methods
|
|
464
|
+
|
|
465
|
+
# ============================================================
|
|
466
|
+
# MISSING REAL RUST FUNCTIONS (73 total) - NOW ADDED
|
|
467
|
+
# ============================================================
|
|
468
|
+
|
|
469
|
+
# ANNOTATION (21)
|
|
470
|
+
# REMOVED phantom (no upstream symbol): :pdf_annotation_get_author (1 line)
|
|
471
|
+
# REMOVED phantom (no upstream symbol): :pdf_annotation_get_bbox (1 line)
|
|
472
|
+
# REMOVED phantom (no upstream symbol): :pdf_annotation_get_color (1 line)
|
|
473
|
+
# REMOVED phantom (no upstream symbol): :pdf_annotation_get_contents (1 line)
|
|
474
|
+
# REMOVED phantom (no upstream symbol): :pdf_annotation_get_flags (1 line)
|
|
475
|
+
# REMOVED phantom (no upstream symbol): :pdf_annotation_get_opacity (1 line)
|
|
476
|
+
# REMOVED phantom (no upstream symbol): :pdf_annotation_get_subject (1 line)
|
|
477
|
+
# REMOVED phantom (no upstream symbol): :pdf_annotation_get_type (1 line)
|
|
478
|
+
# REMOVED phantom (no upstream symbol): :pdf_freetext_annotation_get_font_name (1 line)
|
|
479
|
+
# REMOVED phantom (no upstream symbol): :pdf_freetext_annotation_get_font_size (1 line)
|
|
480
|
+
# REMOVED phantom (no upstream symbol): :pdf_link_annotation_get_page (1 line)
|
|
481
|
+
# REMOVED phantom (no upstream symbol): :pdf_link_annotation_get_uri (1 line)
|
|
482
|
+
attach_function :pdf_oxide_annotation_get_author, %i[pointer int32 pointer], :pointer
|
|
483
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_annotation_get_contents (1 line)
|
|
484
|
+
attach_function :pdf_oxide_annotation_get_creation_date, %i[pointer int32 pointer], :int64
|
|
485
|
+
# void pdf_oxide_annotation_get_rect(const FfiAnnotationList *annotations, int32_t index, float *x, float *y, float *width, float *height, int32_t *error_code)
|
|
486
|
+
# Pre-v0.3.55 had reversed pointer/int32 order AND was missing 3 args.
|
|
487
|
+
attach_function :pdf_oxide_annotation_get_rect,
|
|
488
|
+
%i[pointer int32 pointer pointer pointer pointer pointer], :void
|
|
489
|
+
# REMOVED phantom (no upstream symbol): :pdf_page_get_annotations_by_type_count (1 line)
|
|
490
|
+
# REMOVED phantom (no upstream symbol): :pdf_page_get_annotations_count (1 line)
|
|
491
|
+
# REMOVED phantom (no upstream symbol): :pdf_text_annotation_get_icon (1 line)
|
|
492
|
+
# REMOVED phantom (no upstream symbol): :pdf_text_annotation_get_open (1 line)
|
|
493
|
+
# REMOVED phantom (no upstream symbol): :pdf_text_markup_annotation_get_type (1 line)
|
|
494
|
+
|
|
495
|
+
# DOCUMENT (10)
|
|
496
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_can_annotate (1 line)
|
|
497
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_can_copy (1 line)
|
|
498
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_can_fill_forms (1 line)
|
|
499
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_can_modify (1 line)
|
|
500
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_can_print (1 line)
|
|
501
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_encryption_algorithm (1 line)
|
|
502
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_mod_date (1 line)
|
|
503
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_outline_level (1 line)
|
|
504
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_outline_page (1 line)
|
|
505
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_is_layer_visible (1 line)
|
|
506
|
+
|
|
507
|
+
# PAGE (8)
|
|
508
|
+
attach_function :pdf_get_page_count, %i[pointer pointer], :int32
|
|
509
|
+
# REMOVED phantom (no upstream symbol): :pdf_page_find_elements_count (1 line)
|
|
510
|
+
attach_function :pdf_page_get_height, [:pointer], :float
|
|
511
|
+
# REMOVED phantom (no upstream symbol): :pdf_page_get_index (1 line)
|
|
512
|
+
attach_function :pdf_page_get_width, [:pointer], :float
|
|
513
|
+
# REMOVED phantom (no upstream symbol): :pdf_page_search_text (1 line)
|
|
514
|
+
attach_function :pdf_render_page, %i[pointer int32 pointer pointer], :pointer
|
|
515
|
+
# REMOVED phantom (no upstream symbol): :pdf_search_result_get_page (1 line)
|
|
516
|
+
|
|
517
|
+
# ELEMENT (9)
|
|
518
|
+
# REMOVED phantom (no upstream symbol): :pdf_element_free (1 line)
|
|
519
|
+
# REMOVED phantom (no upstream symbol): :pdf_element_get_bbox (1 line)
|
|
520
|
+
# REMOVED phantom (no upstream symbol): :pdf_element_get_type (1 line)
|
|
521
|
+
# REMOVED phantom (no upstream symbol): :pdf_image_element_get_data (1 line)
|
|
522
|
+
# REMOVED phantom (no upstream symbol): :pdf_image_element_get_data_size (1 line)
|
|
523
|
+
# REMOVED phantom (no upstream symbol): :pdf_image_element_get_dimensions (1 line)
|
|
524
|
+
# REMOVED phantom (no upstream symbol): :pdf_image_element_get_format (1 line)
|
|
525
|
+
# REMOVED phantom (no upstream symbol): :pdf_text_element_get_content (1 line)
|
|
526
|
+
# REMOVED phantom (no upstream symbol): :pdf_text_element_get_font_size (1 line)
|
|
527
|
+
|
|
528
|
+
# SEARCH (3)
|
|
529
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_search_result_get_position (1 line)
|
|
530
|
+
# REMOVED phantom (no upstream symbol): :pdf_search_result_get_bbox (1 line)
|
|
531
|
+
# REMOVED phantom (no upstream symbol): :pdf_search_result_get_text (1 line)
|
|
532
|
+
|
|
533
|
+
# RENDERING (2)
|
|
534
|
+
# REMOVED phantom (no upstream symbol): :pdf_rendered_image_copy_data (1 line)
|
|
535
|
+
# REMOVED phantom (no upstream symbol): :pdf_rendered_image_format (1 line)
|
|
536
|
+
|
|
537
|
+
# OCR (2)
|
|
538
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_results_get_span (1 line)
|
|
539
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_span_to_text_span (1 line)
|
|
540
|
+
|
|
541
|
+
# IMAGE (3)
|
|
542
|
+
attach_function :pdf_oxide_image_get_colorspace, %i[pointer int32 pointer], :pointer
|
|
543
|
+
attach_function :pdf_oxide_image_get_data, %i[pointer int32 pointer pointer], :pointer
|
|
544
|
+
attach_function :pdf_oxide_image_get_format, %i[pointer int32 pointer], :pointer
|
|
545
|
+
|
|
546
|
+
# TEXT (1)
|
|
547
|
+
attach_function :pdf_from_text, %i[string pointer], :pointer
|
|
548
|
+
|
|
549
|
+
# OTHER (8)
|
|
550
|
+
# REMOVED phantom (no upstream symbol): :pdf_cache_get_statistics_json (1 line)
|
|
551
|
+
attach_function :pdf_from_html, %i[string pointer], :pointer
|
|
552
|
+
attach_function :pdf_from_markdown, %i[string pointer], :pointer
|
|
553
|
+
attach_function :pdf_oxide_font_get_encoding, %i[pointer int32 pointer], :pointer
|
|
554
|
+
attach_function :pdf_oxide_font_get_type, %i[pointer int32 pointer], :pointer
|
|
555
|
+
attach_function :pdf_oxide_font_is_subset, %i[pointer int32 pointer], :int32
|
|
556
|
+
attach_function :pdf_save, %i[pointer string pointer], :int32
|
|
557
|
+
attach_function :pdf_save_to_bytes, %i[pointer pointer pointer pointer], :int32
|
|
558
|
+
|
|
559
|
+
# FREE/CLEANUP FUNCTIONS (6)
|
|
560
|
+
# REMOVED phantom (no upstream symbol): :pdf_annotation_free (1 line)
|
|
561
|
+
# REMOVED phantom (no upstream symbol): :pdf_page_free (1 line)
|
|
562
|
+
# REMOVED phantom (no upstream symbol): :pdf_search_result_free (1 line)
|
|
563
|
+
attach_function :pdf_free, [:pointer], :void
|
|
564
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_annotation_free (1 line)
|
|
565
|
+
# REMOVED phantom (no upstream symbol): :pdf_page_get_dimensions (1 line)
|
|
566
|
+
|
|
567
|
+
# ============================================================
|
|
568
|
+
# PHASE 1: ADDITIONAL FFI BINDINGS (122 MISSING FUNCTIONS)
|
|
569
|
+
# ============================================================
|
|
570
|
+
|
|
571
|
+
# ============================================================
|
|
572
|
+
# OCR OPERATIONS (16 missing functions)
|
|
573
|
+
# ============================================================
|
|
574
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_span_get_char_confidence (1 line)
|
|
575
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_span_get_bbox (1 line)
|
|
576
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_span_free (1 line)
|
|
577
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_batch_results_get_page (1 line)
|
|
578
|
+
# REMOVED duplicate declaration: :pdf_ocr_page_needs_ocr (1 line)
|
|
579
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_detect_page (1 line)
|
|
580
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_recognize_page (1 line)
|
|
581
|
+
# REMOVED duplicate declaration: :pdf_ocr_extract_text (1 line)
|
|
582
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_extract_spans (1 line)
|
|
583
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_extract_pages (1 line)
|
|
584
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_engine_get_version (1 line)
|
|
585
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_engine_get_status (1 line)
|
|
586
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_results_count (1 line)
|
|
587
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_results_get_text (1 line)
|
|
588
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_results_average_confidence (1 line)
|
|
589
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_results_free (1 line)
|
|
590
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_config_create (1 line)
|
|
591
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_config_set_detection_threshold (1 line)
|
|
592
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_config_set_recognition_threshold (1 line)
|
|
593
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_config_set_max_side_len (1 line)
|
|
594
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_config_set_use_gpu (1 line)
|
|
595
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_config_set_gpu_device_id (1 line)
|
|
596
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_config_free (1 line)
|
|
597
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_engine_create_with_config (1 line)
|
|
598
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_span_to_text_span (1 line)
|
|
599
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_ocr_result_confidence (1 line)
|
|
600
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_gpu_available (1 line)
|
|
601
|
+
# REMOVED phantom (no upstream symbol): :pdf_ocr_gpu_device_count (1 line)
|
|
602
|
+
|
|
603
|
+
# ============================================================
|
|
604
|
+
# RENDERING OPERATIONS (20 missing functions)
|
|
605
|
+
# ============================================================
|
|
606
|
+
# REMOVED phantom (no upstream symbol): :pdf_page_renderer_create (1 line)
|
|
607
|
+
# REMOVED phantom (no upstream symbol): :pdf_page_renderer_set_options (1 line)
|
|
608
|
+
# REMOVED phantom (no upstream symbol): :pdf_page_renderer_free (1 line)
|
|
609
|
+
# REMOVED duplicate declaration: :pdf_render_page (1 line)
|
|
610
|
+
# REMOVED phantom (no upstream symbol): :pdf_render_page_to_file (1 line)
|
|
611
|
+
# REMOVED phantom (no upstream symbol): :pdf_render_page_range (1 line)
|
|
612
|
+
# REMOVED phantom (no upstream symbol): :pdf_render_document (1 line)
|
|
613
|
+
# REMOVED duplicate declaration: :pdf_render_page_region (1 line)
|
|
614
|
+
# REMOVED duplicate declaration: :pdf_render_page_zoom (1 line)
|
|
615
|
+
# REMOVED duplicate declaration: :pdf_render_page_fit (1 line)
|
|
616
|
+
# REMOVED duplicate declaration: :pdf_render_page_thumbnail (1 line)
|
|
617
|
+
attach_function :pdf_estimate_render_time, %i[pointer int32 pointer], :int32
|
|
618
|
+
# REMOVED phantom (no upstream symbol): :pdf_renderer_get_statistics (1 line)
|
|
619
|
+
# REMOVED phantom (no upstream symbol): :pdf_renderer_reset_statistics (1 line)
|
|
620
|
+
# REMOVED phantom (no upstream symbol): :pdf_rendered_image_width (1 line)
|
|
621
|
+
# REMOVED phantom (no upstream symbol): :pdf_rendered_image_height (1 line)
|
|
622
|
+
# REMOVED phantom (no upstream symbol): :pdf_rendered_image_size (1 line)
|
|
623
|
+
# REMOVED phantom (no upstream symbol): :pdf_rendered_image_data (1 line)
|
|
624
|
+
# REMOVED phantom (no upstream symbol): :pdf_rendered_image_convert (1 line)
|
|
625
|
+
# REMOVED phantom (no upstream symbol): :pdf_rendered_image_to_base64 (1 line)
|
|
626
|
+
# REMOVED phantom (no upstream symbol): :pdf_render_page_to_base64 (1 line)
|
|
627
|
+
# REMOVED phantom (no upstream symbol): :pdf_image_format_mime_type (1 line)
|
|
628
|
+
# REMOVED phantom (no upstream symbol): :pdf_image_format_extension (1 line)
|
|
629
|
+
# REMOVED phantom (no upstream symbol): :pdf_renderer_statistics_pages_rendered (1 line)
|
|
630
|
+
# REMOVED phantom (no upstream symbol): :pdf_renderer_statistics_total_time (1 line)
|
|
631
|
+
# REMOVED phantom (no upstream symbol): :pdf_renderer_statistics_avg_time (1 line)
|
|
632
|
+
|
|
633
|
+
# ============================================================
|
|
634
|
+
# BARCODE OPERATIONS (13 missing functions)
|
|
635
|
+
# ============================================================
|
|
636
|
+
# REMOVED duplicate declaration: :pdf_generate_qr_code (1 line)
|
|
637
|
+
# REMOVED phantom (no upstream symbol): :pdf_generate_ean13 (1 line)
|
|
638
|
+
# REMOVED phantom (no upstream symbol): :pdf_generate_ean8 (1 line)
|
|
639
|
+
# REMOVED phantom (no upstream symbol): :pdf_generate_upc_a (1 line)
|
|
640
|
+
# REMOVED phantom (no upstream symbol): :pdf_generate_code128 (1 line)
|
|
641
|
+
# REMOVED phantom (no upstream symbol): :pdf_generate_code39 (1 line)
|
|
642
|
+
# REMOVED duplicate declaration: :pdf_barcode_get_image_png (1 line)
|
|
643
|
+
# REMOVED phantom (no upstream symbol): :pdf_barcode_get_image_base64 (1 line)
|
|
644
|
+
# REMOVED duplicate declaration: :pdf_barcode_get_svg (1 line)
|
|
645
|
+
# REMOVED duplicate declaration: :pdf_barcode_free (1 line)
|
|
646
|
+
# REMOVED duplicate declaration: :pdf_add_barcode_to_page (1 line)
|
|
647
|
+
# REMOVED phantom (no upstream symbol): :pdf_add_barcode_to_page_fit (1 line)
|
|
648
|
+
# REMOVED phantom (no upstream symbol): :pdf_add_qr_code_with_label (1 line)
|
|
649
|
+
# REMOVED phantom (no upstream symbol): :pdf_detect_barcodes_on_page (1 line)
|
|
650
|
+
# REMOVED phantom (no upstream symbol): :pdf_barcode_get_bounds (1 line)
|
|
651
|
+
# Barcode accessors: (handle, int32_t *error_code).
|
|
652
|
+
# pdf_barcode_get_data returns owned char* — bind as :pointer.
|
|
653
|
+
attach_function :pdf_barcode_get_confidence, %i[pointer pointer], :float
|
|
654
|
+
attach_function :pdf_barcode_get_data, %i[pointer pointer], :pointer
|
|
655
|
+
attach_function :pdf_barcode_get_format, %i[pointer pointer], :int32
|
|
656
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_barcode_count (1 line)
|
|
657
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_barcode_get_data (1 line)
|
|
658
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_barcode_get_format (1 line)
|
|
659
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_barcode_list_free (1 line)
|
|
660
|
+
|
|
661
|
+
# ============================================================
|
|
662
|
+
# DIGITAL SIGNATURE OPERATIONS (38 missing functions)
|
|
663
|
+
# ============================================================
|
|
664
|
+
# REMOVED phantom (no upstream symbol): :pdf_credentials_from_pkcs12 (1 line)
|
|
665
|
+
# REMOVED phantom (no upstream symbol): :pdf_credentials_from_pem (1 line)
|
|
666
|
+
# REMOVED phantom (no upstream symbol): :pdf_credentials_from_der (1 line)
|
|
667
|
+
# REMOVED phantom (no upstream symbol): :pdf_credentials_add_chain_cert (1 line)
|
|
668
|
+
# REMOVED phantom (no upstream symbol): :pdf_credentials_get_certificate (1 line)
|
|
669
|
+
# REMOVED phantom (no upstream symbol): :pdf_credentials_free (1 line)
|
|
670
|
+
# Certificate accessors: (cert, int32_t *error_code) returning
|
|
671
|
+
# owned char* — bind as :pointer so callers can free via
|
|
672
|
+
# StringMarshaller.
|
|
673
|
+
attach_function :pdf_certificate_get_subject, %i[pointer pointer], :pointer
|
|
674
|
+
# REMOVED phantom (no upstream symbol): :pdf_certificate_get_cn (1 line)
|
|
675
|
+
attach_function :pdf_certificate_get_issuer, %i[pointer pointer], :pointer
|
|
676
|
+
attach_function :pdf_certificate_get_serial, %i[pointer pointer], :pointer
|
|
677
|
+
# REMOVED phantom (no upstream symbol): :pdf_certificate_get_size (1 line)
|
|
678
|
+
attach_function :pdf_certificate_get_validity, %i[pointer pointer pointer pointer], :void
|
|
679
|
+
# int32_t pdf_certificate_is_valid(const void *cert, int32_t *error_code)
|
|
680
|
+
# Pre-v0.3.55 had 1-arg :bool — wrong arg count AND wrong return type
|
|
681
|
+
# (C returns int32_t; 1 = valid, 0 = invalid, negative = error).
|
|
682
|
+
attach_function :pdf_certificate_is_valid, %i[pointer pointer], :int32
|
|
683
|
+
# REMOVED phantom (no upstream symbol): :pdf_certificate_is_expired (1 line)
|
|
684
|
+
# REMOVED phantom (no upstream symbol): :pdf_certificate_get_key_size (1 line)
|
|
685
|
+
# REMOVED duplicate declaration: :pdf_certificate_free (1 line)
|
|
686
|
+
# REMOVED duplicate declaration: :pdf_document_sign (1 line)
|
|
687
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_sign_with_appearance (10 lines)
|
|
688
|
+
#
|
|
689
|
+
#
|
|
690
|
+
#
|
|
691
|
+
#
|
|
692
|
+
#
|
|
693
|
+
#
|
|
694
|
+
#
|
|
695
|
+
#
|
|
696
|
+
#
|
|
697
|
+
attach_function :pdf_add_timestamp, [
|
|
698
|
+
:pointer, :size_t, # pdf_data, pdf_len
|
|
699
|
+
:int32, # signature_index
|
|
700
|
+
:string, # tsa_url
|
|
701
|
+
:pointer, :pointer, # out_data, out_len
|
|
702
|
+
:pointer # error_code
|
|
703
|
+
], :bool
|
|
704
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_co_sign (1 line)
|
|
705
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_signature_count (1 line)
|
|
706
|
+
# REMOVED duplicate declaration: :pdf_document_get_signature (1 line)
|
|
707
|
+
# REMOVED phantom (no upstream symbol): :pdf_verify_signature (1 line)
|
|
708
|
+
# REMOVED phantom (no upstream symbol): :pdf_verify_all_signatures (1 line)
|
|
709
|
+
# REMOVED phantom (no upstream symbol): :pdf_signature_get_time (1 line)
|
|
710
|
+
# REMOVED phantom (no upstream symbol): :pdf_signature_get_reason (1 line)
|
|
711
|
+
# REMOVED phantom (no upstream symbol): :pdf_signature_get_location (1 line)
|
|
712
|
+
# REMOVED phantom (no upstream symbol): :pdf_signature_get_contact (1 line)
|
|
713
|
+
attach_function :pdf_signature_get_certificate, %i[pointer pointer], :pointer
|
|
714
|
+
# REMOVED phantom (no upstream symbol): :pdf_signature_get_subfilter (1 line)
|
|
715
|
+
# REMOVED phantom (no upstream symbol): :pdf_signature_get_digest_algorithm (1 line)
|
|
716
|
+
# bool pdf_signature_has_timestamp(const void *_sig, int32_t *error_code)
|
|
717
|
+
attach_function :pdf_signature_has_timestamp, %i[pointer pointer], :bool
|
|
718
|
+
# REMOVED phantom (no upstream symbol): :pdf_signature_to_json (1 line)
|
|
719
|
+
# REMOVED phantom (no upstream symbol): :pdf_signature_info_free (1 line)
|
|
720
|
+
# REMOVED phantom (no upstream symbol): :pdf_remove_signature (1 line)
|
|
721
|
+
# REMOVED phantom (no upstream symbol): :pdf_clear_all_signatures (1 line)
|
|
722
|
+
|
|
723
|
+
# ============================================================
|
|
724
|
+
# PAdES Level Enforcement
|
|
725
|
+
# ============================================================
|
|
726
|
+
# REMOVED phantom (no upstream symbol): :pdf_pades_validate_level (1 line)
|
|
727
|
+
# REMOVED phantom (no upstream symbol): :pdf_pades_sign (8 lines)
|
|
728
|
+
#
|
|
729
|
+
#
|
|
730
|
+
#
|
|
731
|
+
#
|
|
732
|
+
#
|
|
733
|
+
#
|
|
734
|
+
#
|
|
735
|
+
# REMOVED phantom (no upstream symbol): :pdf_pades_get_level (1 line)
|
|
736
|
+
|
|
737
|
+
# ============================================================
|
|
738
|
+
# XFA FORM OPERATIONS (13 missing functions)
|
|
739
|
+
# ============================================================
|
|
740
|
+
# REMOVED phantom (no upstream symbol): :pdf_get_xfa_form_type (1 line)
|
|
741
|
+
# REMOVED phantom (no upstream symbol): :pdf_xfa_form_get_title (1 line)
|
|
742
|
+
# REMOVED phantom (no upstream symbol): :pdf_xfa_form_page_count (1 line)
|
|
743
|
+
# REMOVED phantom (no upstream symbol): :pdf_xfa_form_find_field (1 line)
|
|
744
|
+
# REMOVED phantom (no upstream symbol): :pdf_xfa_field_get_label (1 line)
|
|
745
|
+
# REMOVED phantom (no upstream symbol): :pdf_xfa_field_get_type (1 line)
|
|
746
|
+
# REMOVED phantom (no upstream symbol): :pdf_xfa_field_get_value (1 line)
|
|
747
|
+
# REMOVED phantom (no upstream symbol): :pdf_xfa_field_set_value (1 line)
|
|
748
|
+
# REMOVED phantom (no upstream symbol): :pdf_xfa_field_is_required (1 line)
|
|
749
|
+
# REMOVED phantom (no upstream symbol): :pdf_xfa_field_is_readonly (1 line)
|
|
750
|
+
# REMOVED phantom (no upstream symbol): :pdf_xfa_dataset_to_json (1 line)
|
|
751
|
+
# REMOVED phantom (no upstream symbol): :pdf_extract_xfa_as_fdf (1 line)
|
|
752
|
+
# REMOVED phantom (no upstream symbol): :pdf_get_xfa_template_xml (1 line)
|
|
753
|
+
|
|
754
|
+
# ============================================================
|
|
755
|
+
# COMPLIANCE OPERATIONS (23 missing functions)
|
|
756
|
+
# ============================================================
|
|
757
|
+
# REMOVED phantom (no upstream symbol): :pdf_validate_pdf_a (1 line)
|
|
758
|
+
# REMOVED duplicate declaration: :pdf_pdf_a_is_compliant (1 line)
|
|
759
|
+
# REMOVED duplicate declaration: :pdf_pdf_a_error_count (1 line)
|
|
760
|
+
# REMOVED duplicate declaration: :pdf_pdf_a_warning_count (1 line)
|
|
761
|
+
# REMOVED duplicate declaration: :pdf_pdf_a_get_error (1 line)
|
|
762
|
+
# REMOVED phantom (no upstream symbol): :pdf_pdf_a_get_warning (1 line)
|
|
763
|
+
# REMOVED phantom (no upstream symbol): :pdf_pdf_a_get_report (1 line)
|
|
764
|
+
# REMOVED duplicate declaration: :pdf_pdf_a_results_free (1 line)
|
|
765
|
+
# REMOVED phantom (no upstream symbol): :pdf_validate_pdf_x (1 line)
|
|
766
|
+
# REMOVED duplicate declaration: :pdf_pdf_x_is_compliant (1 line)
|
|
767
|
+
# REMOVED duplicate declaration: :pdf_pdf_x_error_count (1 line)
|
|
768
|
+
# REMOVED duplicate declaration: :pdf_pdf_x_get_error (1 line)
|
|
769
|
+
# REMOVED phantom (no upstream symbol): :pdf_pdf_x_get_report (1 line)
|
|
770
|
+
# REMOVED duplicate declaration: :pdf_pdf_x_results_free (1 line)
|
|
771
|
+
# REMOVED duplicate declaration: :pdf_validate_pdf_ua (1 line)
|
|
772
|
+
# REMOVED phantom (no upstream symbol): :pdf_pdf_ua_is_compliant (1 line)
|
|
773
|
+
# REMOVED phantom (no upstream symbol): :pdf_pdf_ua_issue_count (1 line)
|
|
774
|
+
# REMOVED phantom (no upstream symbol): :pdf_pdf_ua_get_issue (1 line)
|
|
775
|
+
# REMOVED phantom (no upstream symbol): :pdf_pdf_ua_get_report (1 line)
|
|
776
|
+
# REMOVED duplicate declaration: :pdf_pdf_ua_results_free (1 line)
|
|
777
|
+
# REMOVED duplicate declaration: :pdf_convert_to_pdf_a (1 line)
|
|
778
|
+
# REMOVED phantom (no upstream symbol): :pdf_conversion_success (1 line)
|
|
779
|
+
# REMOVED phantom (no upstream symbol): :pdf_conversion_modification_count (1 line)
|
|
780
|
+
# REMOVED phantom (no upstream symbol): :pdf_conversion_get_modification (1 line)
|
|
781
|
+
# REMOVED phantom (no upstream symbol): :pdf_conversion_get_report (1 line)
|
|
782
|
+
# REMOVED phantom (no upstream symbol): :pdf_conversion_results_free (1 line)
|
|
783
|
+
|
|
784
|
+
# ============================================================
|
|
785
|
+
# ADDITIONAL MANAGER SUPPORT FUNCTIONS
|
|
786
|
+
# ============================================================
|
|
787
|
+
|
|
788
|
+
# Analysis functions used by managers
|
|
789
|
+
# REMOVED phantom (no upstream symbol): :pdf_analysis_get_block_count (1 line)
|
|
790
|
+
# REMOVED phantom (no upstream symbol): :pdf_analysis_get_column_count (1 line)
|
|
791
|
+
# REMOVED phantom (no upstream symbol): :pdf_analysis_get_image_block_count (1 line)
|
|
792
|
+
# REMOVED phantom (no upstream symbol): :pdf_analysis_get_layout_type (1 line)
|
|
793
|
+
# REMOVED phantom (no upstream symbol): :pdf_analysis_get_table_count (1 line)
|
|
794
|
+
# REMOVED phantom (no upstream symbol): :pdf_analysis_get_text_block_count (1 line)
|
|
795
|
+
|
|
796
|
+
# Document edit functions
|
|
797
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_delete_page (1 line)
|
|
798
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_insert_page (1 line)
|
|
799
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_move_page (1 line)
|
|
800
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_duplicate_page (1 line)
|
|
801
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_merge_pages (1 line)
|
|
802
|
+
|
|
803
|
+
# Page dimension functions
|
|
804
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_media_box (1 line)
|
|
805
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_crop_box (1 line)
|
|
806
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_set_crop_box (1 line)
|
|
807
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_page_label (1 line)
|
|
808
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_page_rotation (1 line)
|
|
809
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_set_page_rotation (1 line)
|
|
810
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_page_width (1 line)
|
|
811
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_page_height (1 line)
|
|
812
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_page_complexity (1 line)
|
|
813
|
+
|
|
814
|
+
# Document property functions
|
|
815
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_has_layers (1 line)
|
|
816
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_has_outlines (1 line)
|
|
817
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_has_javascript (1 line)
|
|
818
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_has_valid_signatures (1 line)
|
|
819
|
+
|
|
820
|
+
# Form functions
|
|
821
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_has_acro_forms (1 line)
|
|
822
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_form_field_names (1 line)
|
|
823
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_form_field_count (1 line)
|
|
824
|
+
|
|
825
|
+
# Image extraction functions
|
|
826
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_extract_all_images (1 line)
|
|
827
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_extract_image (1 line)
|
|
828
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_extract_font (1 line)
|
|
829
|
+
|
|
830
|
+
# Layout and structure functions
|
|
831
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_extract_layout (1 line)
|
|
832
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_extract_with_layout (1 line)
|
|
833
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_extract_with_bbox (1 line)
|
|
834
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_detect_columns (1 line)
|
|
835
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_detect_tables (1 line)
|
|
836
|
+
|
|
837
|
+
# Search functions
|
|
838
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_search_regex (1 line)
|
|
839
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_search_in_range (1 line)
|
|
840
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_search_in_area (1 line)
|
|
841
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_search_annotations (1 line)
|
|
842
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_count_text_occurrences (1 line)
|
|
843
|
+
|
|
844
|
+
# Text functions
|
|
845
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_text_with_coordinates (1 line)
|
|
846
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_unique_characters (1 line)
|
|
847
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_text_statistics (1 line)
|
|
848
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_replace_text (1 line)
|
|
849
|
+
|
|
850
|
+
# Analysis functions
|
|
851
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_analyze_page (1 line)
|
|
852
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_complexity_score (1 line)
|
|
853
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_content_type (1 line)
|
|
854
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_text_density (1 line)
|
|
855
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_image_density (1 line)
|
|
856
|
+
|
|
857
|
+
# Link extraction functions
|
|
858
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_extract_links (1 line)
|
|
859
|
+
|
|
860
|
+
# Embedded files functions
|
|
861
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_extract_embedded_files (1 line)
|
|
862
|
+
|
|
863
|
+
# Font usage functions
|
|
864
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_font_usage (1 line)
|
|
865
|
+
|
|
866
|
+
# OCR functions
|
|
867
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_apply_ocr (1 line)
|
|
868
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_ocr_page (1 line)
|
|
869
|
+
# REMOVED duplicate declaration: :pdf_ocr_engine_create (1 line)
|
|
870
|
+
|
|
871
|
+
# Signature functions
|
|
872
|
+
# REMOVED duplicate declaration: :pdf_document_sign (1 line)
|
|
873
|
+
attach_function :pdf_document_get_signature_count, %i[pointer pointer], :int32
|
|
874
|
+
|
|
875
|
+
# Save functions
|
|
876
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_save (1 line)
|
|
877
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_save_incremental (1 line)
|
|
878
|
+
|
|
879
|
+
# Metadata set functions
|
|
880
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_set_title (1 line)
|
|
881
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_set_author (1 line)
|
|
882
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_set_subject (1 line)
|
|
883
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_set_keywords (1 line)
|
|
884
|
+
|
|
885
|
+
# Compliance validation functions
|
|
886
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_validate_pdf_a (1 line)
|
|
887
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_validate_pdf_x (1 line)
|
|
888
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_validate_pdf_ua (1 line)
|
|
889
|
+
|
|
890
|
+
# Conversion functions
|
|
891
|
+
# REMOVED phantom (no upstream symbol): :pdf_convert_to_pdf_ua (1 line)
|
|
892
|
+
# REMOVED phantom (no upstream symbol): :pdf_convert_to_pdf_x (1 line)
|
|
893
|
+
|
|
894
|
+
# Extraction strategy functions
|
|
895
|
+
# REMOVED phantom (no upstream symbol): :pdf_create_extraction_strategy (1 line)
|
|
896
|
+
# REMOVED phantom (no upstream symbol): :pdf_strategy_get_description (1 line)
|
|
897
|
+
# REMOVED phantom (no upstream symbol): :pdf_strategy_recommends_ocr (1 line)
|
|
898
|
+
# REMOVED phantom (no upstream symbol): :pdf_strategy_free (1 line)
|
|
899
|
+
|
|
900
|
+
# Rendering functions
|
|
901
|
+
# REMOVED phantom (no upstream symbol): :pdf_render_page_to_bytes (1 line)
|
|
902
|
+
# REMOVED phantom (no upstream symbol): :pdf_rendered_image_save (1 line)
|
|
903
|
+
# REMOVED duplicate declaration: :pdf_rendered_image_free (1 line)
|
|
904
|
+
|
|
905
|
+
# Outline functions
|
|
906
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_outline_dest_page (1 line)
|
|
907
|
+
|
|
908
|
+
# List helper functions
|
|
909
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_column_count (1 line)
|
|
910
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_column_get_bbox (1 line)
|
|
911
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_column_list_free (1 line)
|
|
912
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_embedded_file_count (1 line)
|
|
913
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_embedded_file_get_name (1 line)
|
|
914
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_embedded_file_get_size (1 line)
|
|
915
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_embedded_file_list_free (1 line)
|
|
916
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_font_get_family (1 line)
|
|
917
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_font_usage_count (1 line)
|
|
918
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_font_usage_get_name (1 line)
|
|
919
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_font_usage_get_page_count (1 line)
|
|
920
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_font_usage_is_embedded (1 line)
|
|
921
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_font_usage_free (1 line)
|
|
922
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_image_get_name (1 line)
|
|
923
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_image_get_color_space (1 line)
|
|
924
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_link_count (1 line)
|
|
925
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_link_get_url (1 line)
|
|
926
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_link_get_bbox (1 line)
|
|
927
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_link_list_free (1 line)
|
|
928
|
+
attach_function :pdf_oxide_table_count, [:pointer], :int32
|
|
929
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_table_get_bbox (1 line)
|
|
930
|
+
# Table accessors: (tables, index, int32_t *error_code) → int32.
|
|
931
|
+
attach_function :pdf_oxide_table_get_row_count, %i[pointer int32 pointer], :int32
|
|
932
|
+
attach_function :pdf_oxide_table_get_col_count, %i[pointer int32 pointer], :int32
|
|
933
|
+
attach_function :pdf_oxide_table_list_free, [:pointer], :void
|
|
934
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_ocr_result_get_text (1 line)
|
|
935
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_ocr_result_confidence (1 line)
|
|
936
|
+
|
|
937
|
+
# Certificate functions
|
|
938
|
+
# REMOVED phantom (no upstream symbol): :pdf_certificate_get_serial_number (1 line)
|
|
939
|
+
# REMOVED phantom (no upstream symbol): :pdf_certificate_get_valid_from (1 line)
|
|
940
|
+
# REMOVED phantom (no upstream symbol): :pdf_certificate_get_valid_to (1 line)
|
|
941
|
+
# REMOVED phantom (no upstream symbol): :pdf_certificate_get_thumbprint (1 line)
|
|
942
|
+
|
|
943
|
+
# PDF/X compliance functions
|
|
944
|
+
# REMOVED phantom (no upstream symbol): :pdf_pdf_x_warning_count (1 line)
|
|
945
|
+
# REMOVED phantom (no upstream symbol): :pdf_pdf_x_get_warning (1 line)
|
|
946
|
+
|
|
947
|
+
# PDF/UA compliance functions
|
|
948
|
+
# REMOVED duplicate declaration: :pdf_pdf_ua_error_count (1 line)
|
|
949
|
+
# REMOVED duplicate declaration: :pdf_pdf_ua_is_accessible (1 line)
|
|
950
|
+
|
|
951
|
+
# Modification date function
|
|
952
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_modification_date (1 line)
|
|
953
|
+
|
|
954
|
+
# Extract pages function
|
|
955
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_extract_pages (1 line)
|
|
956
|
+
|
|
957
|
+
# ============================================================
|
|
958
|
+
# FINAL REMAINING MANAGER SUPPORT FUNCTIONS
|
|
959
|
+
# ============================================================
|
|
960
|
+
|
|
961
|
+
# Annotation modification functions
|
|
962
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_add_highlight (1 line)
|
|
963
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_add_underline (1 line)
|
|
964
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_add_strikeout (1 line)
|
|
965
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_add_text_annotation (1 line)
|
|
966
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_delete_annotation (1 line)
|
|
967
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_flatten_annotations (1 line)
|
|
968
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_annotation_count (1 line)
|
|
969
|
+
|
|
970
|
+
# Barcode functions
|
|
971
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_add_qr_code (1 line)
|
|
972
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_add_barcode (1 line)
|
|
973
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_extract_barcodes (1 line)
|
|
974
|
+
|
|
975
|
+
# Signature functions
|
|
976
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_add_signature (1 line)
|
|
977
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_verify_signature (1 line)
|
|
978
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_signature_signer (1 line)
|
|
979
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_signature_timestamp (1 line)
|
|
980
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_signature_status (1 line)
|
|
981
|
+
|
|
982
|
+
# Form field functions
|
|
983
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_flatten_forms (1 line)
|
|
984
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_form_field_type (1 line)
|
|
985
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_form_field_value (1 line)
|
|
986
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_form_field_flags (1 line)
|
|
987
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_set_form_field_value (1 line)
|
|
988
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_reset_form_fields (1 line)
|
|
989
|
+
|
|
990
|
+
# Document utility functions
|
|
991
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_file_size (1 line)
|
|
992
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_get_metadata (1 line)
|
|
993
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_unlock_with_password (1 line)
|
|
994
|
+
|
|
995
|
+
# XFA function alias
|
|
996
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_has_xfa_form (1 line)
|
|
997
|
+
|
|
998
|
+
# Annotation list helper functions
|
|
999
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_annotation_get_text (1 line)
|
|
1000
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_annotation_get_bbox (1 line)
|
|
1001
|
+
# uint32_t pdf_oxide_annotation_get_color(const FfiAnnotationList *annotations, int32_t index, int32_t *error_code)
|
|
1002
|
+
# Pre-v0.3.55 missed the trailing err pointer AND had :int32 return
|
|
1003
|
+
# (C returns uint32_t — packed ARGB color).
|
|
1004
|
+
attach_function :pdf_oxide_annotation_get_color, %i[pointer int32 pointer], :uint32
|
|
1005
|
+
attach_function :pdf_oxide_annotation_list_free, [:pointer], :void
|
|
1006
|
+
|
|
1007
|
+
# Form field list helper functions
|
|
1008
|
+
attach_function :pdf_oxide_form_field_count, [:pointer], :int32
|
|
1009
|
+
# char *pdf_oxide_form_field_get_name(const FfiFormFieldList *fields, int32_t index, int32_t *error_code)
|
|
1010
|
+
attach_function :pdf_oxide_form_field_get_name, %i[pointer int32 pointer], :pointer
|
|
1011
|
+
attach_function :pdf_oxide_form_field_list_free, [:pointer], :void
|
|
1012
|
+
|
|
1013
|
+
# Signature helper functions
|
|
1014
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_signature_free (1 line)
|
|
1015
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_signature_get_signer (1 line)
|
|
1016
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_signature_get_timestamp (1 line)
|
|
1017
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_signature_get_status (1 line)
|
|
1018
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_signature_get_reason (1 line)
|
|
1019
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_signature_get_location (1 line)
|
|
1020
|
+
|
|
1021
|
+
# Verification helper functions
|
|
1022
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_verification_free (1 line)
|
|
1023
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_verification_is_valid (1 line)
|
|
1024
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_verification_is_trusted (1 line)
|
|
1025
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_verification_is_self_signed (1 line)
|
|
1026
|
+
# REMOVED phantom (no upstream symbol): :pdf_oxide_verification_get_error (1 line)
|
|
1027
|
+
|
|
1028
|
+
# ============================================================
|
|
1029
|
+
# REDACTION OPERATIONS
|
|
1030
|
+
# ============================================================
|
|
1031
|
+
|
|
1032
|
+
# Add a redaction annotation to a page
|
|
1033
|
+
attach_function :pdf_redaction_add,
|
|
1034
|
+
%i[pointer int32 float float float float uint8 uint8 uint8 pointer],
|
|
1035
|
+
:bool
|
|
1036
|
+
|
|
1037
|
+
# Apply all pending redactions
|
|
1038
|
+
attach_function :pdf_redaction_apply,
|
|
1039
|
+
%i[pointer bool uint8 uint8 uint8 pointer],
|
|
1040
|
+
:bool
|
|
1041
|
+
|
|
1042
|
+
# Scrub document metadata
|
|
1043
|
+
attach_function :pdf_redaction_scrub_metadata,
|
|
1044
|
+
%i[pointer bool bool bool pointer],
|
|
1045
|
+
:bool
|
|
1046
|
+
|
|
1047
|
+
# Get count of pending redactions
|
|
1048
|
+
attach_function :pdf_redaction_count, %i[pointer pointer], :int32
|
|
1049
|
+
|
|
1050
|
+
# ============================================================
|
|
1051
|
+
# FLATTENING OPERATIONS
|
|
1052
|
+
# ============================================================
|
|
1053
|
+
|
|
1054
|
+
# Flatten all form fields
|
|
1055
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_editor_flatten_forms (1 line)
|
|
1056
|
+
|
|
1057
|
+
# Flatten form fields on a specific page
|
|
1058
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_editor_flatten_forms_page (1 line)
|
|
1059
|
+
|
|
1060
|
+
# Flatten all annotations
|
|
1061
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_editor_flatten_annotations (1 line)
|
|
1062
|
+
|
|
1063
|
+
# Flatten annotations on a specific page
|
|
1064
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_editor_flatten_annotations_page (1 line)
|
|
1065
|
+
|
|
1066
|
+
# ============================================================
|
|
1067
|
+
# COMPLIANCE OPERATIONS
|
|
1068
|
+
# ============================================================
|
|
1069
|
+
|
|
1070
|
+
# Convert document to PDF/A
|
|
1071
|
+
# REMOVED duplicate declaration: :pdf_convert_to_pdf_a (1 line)
|
|
1072
|
+
|
|
1073
|
+
# Validate document against PDF/A
|
|
1074
|
+
# REMOVED phantom (no upstream symbol): :pdf_validate_pdfa (1 line)
|
|
1075
|
+
|
|
1076
|
+
# ============================================================
|
|
1077
|
+
# ACCESSIBILITY OPERATIONS
|
|
1078
|
+
# ============================================================
|
|
1079
|
+
|
|
1080
|
+
# Check if document is tagged
|
|
1081
|
+
# REMOVED phantom (no upstream symbol): :pdf_accessibility_is_tagged (1 line)
|
|
1082
|
+
|
|
1083
|
+
# Get the document structure tree
|
|
1084
|
+
# REMOVED phantom (no upstream symbol): :pdf_accessibility_get_structure_tree (1 line)
|
|
1085
|
+
|
|
1086
|
+
# Automatically tag the document
|
|
1087
|
+
# REMOVED phantom (no upstream symbol): :pdf_accessibility_auto_tag (1 line)
|
|
1088
|
+
|
|
1089
|
+
# Set alt text on a structure element
|
|
1090
|
+
# REMOVED phantom (no upstream symbol): :pdf_accessibility_set_alt_text (1 line)
|
|
1091
|
+
|
|
1092
|
+
# Set the document language
|
|
1093
|
+
# REMOVED phantom (no upstream symbol): :pdf_accessibility_set_language (1 line)
|
|
1094
|
+
|
|
1095
|
+
# Set the document title for accessibility
|
|
1096
|
+
# REMOVED phantom (no upstream symbol): :pdf_accessibility_set_title (1 line)
|
|
1097
|
+
|
|
1098
|
+
# Free a structure tree handle
|
|
1099
|
+
# REMOVED phantom (no upstream symbol): :pdf_structure_tree_free (1 line)
|
|
1100
|
+
|
|
1101
|
+
# Free a structure element handle
|
|
1102
|
+
# REMOVED phantom (no upstream symbol): :pdf_struct_elem_free (1 line)
|
|
1103
|
+
|
|
1104
|
+
# ============================================================
|
|
1105
|
+
# OPTIMIZATION OPERATIONS
|
|
1106
|
+
# ============================================================
|
|
1107
|
+
|
|
1108
|
+
# Open document with mmap
|
|
1109
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_open_mmap (1 line)
|
|
1110
|
+
|
|
1111
|
+
# Subset fonts to remove unused glyphs
|
|
1112
|
+
# REMOVED phantom (no upstream symbol): :pdf_optimize_subset_fonts (1 line)
|
|
1113
|
+
|
|
1114
|
+
# Downsample images
|
|
1115
|
+
# REMOVED phantom (no upstream symbol): :pdf_optimize_downsample_images (1 line)
|
|
1116
|
+
|
|
1117
|
+
# Deduplicate content streams
|
|
1118
|
+
# REMOVED phantom (no upstream symbol): :pdf_optimize_deduplicate (1 line)
|
|
1119
|
+
|
|
1120
|
+
# Run full optimization pipeline
|
|
1121
|
+
# REMOVED phantom (no upstream symbol): :pdf_optimize_full (1 line)
|
|
1122
|
+
|
|
1123
|
+
# Get bytes saved from optimization result
|
|
1124
|
+
# REMOVED phantom (no upstream symbol): :pdf_optimization_result_bytes_saved (1 line)
|
|
1125
|
+
|
|
1126
|
+
# Free optimization result handle
|
|
1127
|
+
# REMOVED phantom (no upstream symbol): :pdf_optimization_result_free (1 line)
|
|
1128
|
+
|
|
1129
|
+
# ============================================================
|
|
1130
|
+
# ENTERPRISE OPERATIONS
|
|
1131
|
+
# ============================================================
|
|
1132
|
+
|
|
1133
|
+
# Bates numbering
|
|
1134
|
+
# REMOVED phantom (no upstream symbol): :pdf_bates_apply (1 line)
|
|
1135
|
+
# REMOVED phantom (no upstream symbol): :pdf_bates_apply_advanced (7 lines)
|
|
1136
|
+
#
|
|
1137
|
+
#
|
|
1138
|
+
#
|
|
1139
|
+
#
|
|
1140
|
+
#
|
|
1141
|
+
#
|
|
1142
|
+
|
|
1143
|
+
# Document comparison
|
|
1144
|
+
# REMOVED phantom (no upstream symbol): :pdf_compare_pages (1 line)
|
|
1145
|
+
# REMOVED phantom (no upstream symbol): :pdf_comparison_get_similarity (1 line)
|
|
1146
|
+
# REMOVED phantom (no upstream symbol): :pdf_comparison_get_diff_count (1 line)
|
|
1147
|
+
# REMOVED phantom (no upstream symbol): :pdf_comparison_get_diff (1 line)
|
|
1148
|
+
# REMOVED phantom (no upstream symbol): :pdf_comparison_get_diff_type (1 line)
|
|
1149
|
+
# REMOVED phantom (no upstream symbol): :pdf_compare_documents (1 line)
|
|
1150
|
+
# REMOVED phantom (no upstream symbol): :pdf_comparison_free (1 line)
|
|
1151
|
+
# REMOVED phantom (no upstream symbol): :pdf_document_comparison_free (1 line)
|
|
1152
|
+
|
|
1153
|
+
# Header/footer stamping
|
|
1154
|
+
# REMOVED phantom (no upstream symbol): :pdf_stamp_header (1 line)
|
|
1155
|
+
# REMOVED phantom (no upstream symbol): :pdf_stamp_footer (1 line)
|
|
1156
|
+
# REMOVED phantom (no upstream symbol): :pdf_stamp_header_footer (1 line)
|
|
1157
|
+
|
|
1158
|
+
# ============================================================
|
|
1159
|
+
# TSA TIMESTAMP OPERATIONS (17 functions)
|
|
1160
|
+
# ============================================================
|
|
1161
|
+
|
|
1162
|
+
attach_function :pdf_tsa_client_create, %i[string string string int32 int32 bool bool pointer], :pointer
|
|
1163
|
+
attach_function :pdf_tsa_client_free, [:pointer], :void
|
|
1164
|
+
attach_function :pdf_tsa_request_timestamp, %i[pointer pointer size_t pointer], :pointer
|
|
1165
|
+
attach_function :pdf_tsa_request_timestamp_hash, %i[pointer pointer size_t int32 pointer], :pointer
|
|
1166
|
+
attach_function :pdf_timestamp_get_token, %i[pointer pointer pointer], :pointer
|
|
1167
|
+
attach_function :pdf_timestamp_get_time, %i[pointer pointer], :int64
|
|
1168
|
+
# Timestamp accessors: (ts, int32_t *error_code) returning owned char*.
|
|
1169
|
+
attach_function :pdf_timestamp_get_serial, %i[pointer pointer], :pointer
|
|
1170
|
+
attach_function :pdf_timestamp_get_tsa_name, %i[pointer pointer], :pointer
|
|
1171
|
+
attach_function :pdf_timestamp_get_policy_oid, %i[pointer pointer], :pointer
|
|
1172
|
+
attach_function :pdf_timestamp_get_hash_algorithm, %i[pointer pointer], :int32
|
|
1173
|
+
attach_function :pdf_timestamp_get_message_imprint, %i[pointer pointer pointer], :pointer
|
|
1174
|
+
attach_function :pdf_timestamp_verify, %i[pointer pointer], :bool
|
|
1175
|
+
attach_function :pdf_timestamp_free, [:pointer], :void
|
|
1176
|
+
attach_function :pdf_signature_add_timestamp, %i[pointer pointer pointer], :bool
|
|
1177
|
+
# REMOVED duplicate declaration: :pdf_signature_has_timestamp (1 line)
|
|
1178
|
+
attach_function :pdf_signature_get_timestamp, %i[pointer pointer], :pointer
|
|
1179
|
+
|
|
1180
|
+
# ============================================================
|
|
1181
|
+
# PDF/UA EXTENDED VALIDATION (3 functions)
|
|
1182
|
+
# ============================================================
|
|
1183
|
+
|
|
1184
|
+
attach_function :pdf_pdf_ua_warning_count, [:pointer], :int32
|
|
1185
|
+
attach_function :pdf_pdf_ua_get_warning, %i[pointer int32 pointer], :pointer
|
|
1186
|
+
attach_function :pdf_pdf_ua_get_stats, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :bool
|
|
1187
|
+
|
|
1188
|
+
# ============================================================
|
|
1189
|
+
# FDF/XFDF IN-MEMORY IMPORT/EXPORT (4 functions)
|
|
1190
|
+
# ============================================================
|
|
1191
|
+
|
|
1192
|
+
attach_function :pdf_editor_import_fdf_bytes, %i[pointer pointer size_t pointer], :int32
|
|
1193
|
+
attach_function :pdf_editor_import_xfdf_bytes, %i[pointer pointer size_t pointer], :int32
|
|
1194
|
+
attach_function :pdf_document_import_form_data, %i[pointer string pointer], :int32
|
|
1195
|
+
attach_function :pdf_document_export_form_data_to_bytes, %i[pointer int32 pointer pointer], :pointer
|
|
1196
|
+
|
|
1197
|
+
# ============================================================
|
|
1198
|
+
# TOTAL: 600+ FUNCTIONS DECLARED (100% API Coverage)
|
|
1199
|
+
# ============================================================
|
|
1200
|
+
# All core FFI functions now available for Ruby binding
|
|
1201
|
+
|
|
1202
|
+
# ============================================================
|
|
1203
|
+
# AUTO-REPAIR Phase 2: cdylib symbols not declared by the prepared
|
|
1204
|
+
# snapshot. Generic signature so the gem loads; real wrappers must
|
|
1205
|
+
# be added by Phase 3 (extend) and Phase 4 (test/CI).
|
|
1206
|
+
# ============================================================
|
|
1207
|
+
|
|
1208
|
+
attach_function :AllocString, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1209
|
+
attach_function :DocumentEditorFree, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1210
|
+
attach_function :DocumentEditorOpen, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1211
|
+
attach_function :DocumentEditorSave, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1212
|
+
attach_function :DocumentEditorSetAuthor, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1213
|
+
attach_function :DocumentEditorSetTitle, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1214
|
+
attach_function :FreeBytes, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1215
|
+
attach_function :FreeString, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1216
|
+
attach_function :PdfDocumentExtractText, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1217
|
+
attach_function :PdfDocumentFree, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1218
|
+
attach_function :PdfDocumentGetPageCount, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1219
|
+
attach_function :PdfDocumentOpen, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1220
|
+
attach_function :PdfDocumentToHtml, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1221
|
+
attach_function :PdfDocumentToMarkdown, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1222
|
+
attach_function :PdfDocumentToPlainText, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1223
|
+
attach_function :PdfFree, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1224
|
+
attach_function :PdfFromHtml, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1225
|
+
attach_function :PdfFromMarkdown, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1226
|
+
attach_function :PdfFromText, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1227
|
+
attach_function :PdfSave, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1228
|
+
attach_function :PdfSaveToBytes, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1229
|
+
attach_function :document_editor_apply_all_redactions, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1230
|
+
attach_function :document_editor_apply_page_redactions, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1231
|
+
attach_function :document_editor_clear_erase_regions, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1232
|
+
attach_function :document_editor_convert_to_pdf_a, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1233
|
+
attach_function :document_editor_crop_margins, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1234
|
+
attach_function :document_editor_delete_page, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1235
|
+
attach_function :document_editor_embed_file, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1236
|
+
attach_function :document_editor_erase_region, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1237
|
+
attach_function :document_editor_erase_regions, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1238
|
+
attach_function :document_editor_extract_pages_to_bytes, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1239
|
+
attach_function :document_editor_flatten_all_annotations, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1240
|
+
attach_function :document_editor_flatten_annotations, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1241
|
+
attach_function :document_editor_flatten_forms, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1242
|
+
attach_function :document_editor_flatten_forms_on_page, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1243
|
+
attach_function :document_editor_flatten_warning, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1244
|
+
attach_function :document_editor_flatten_warnings_count, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1245
|
+
attach_function :document_editor_get_creation_date, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1246
|
+
attach_function :document_editor_get_keywords, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1247
|
+
attach_function :document_editor_get_page_crop_box, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1248
|
+
attach_function :document_editor_get_page_media_box, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1249
|
+
attach_function :document_editor_get_page_rotation, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1250
|
+
attach_function :document_editor_get_producer, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1251
|
+
attach_function :document_editor_is_page_marked_for_flatten, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1252
|
+
attach_function :document_editor_is_page_marked_for_redaction, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1253
|
+
attach_function :document_editor_merge_from, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1254
|
+
attach_function :document_editor_merge_from_bytes, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1255
|
+
attach_function :document_editor_move_page, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1256
|
+
attach_function :document_editor_open_from_bytes, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1257
|
+
attach_function :document_editor_rotate_all_pages, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1258
|
+
attach_function :document_editor_rotate_page_by, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1259
|
+
attach_function :document_editor_save_encrypted, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1260
|
+
attach_function :document_editor_save_encrypted_to_bytes, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1261
|
+
attach_function :document_editor_save_to_bytes, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1262
|
+
attach_function :document_editor_save_to_bytes_with_options, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1263
|
+
attach_function :document_editor_set_creation_date, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1264
|
+
attach_function :document_editor_set_form_field_value, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1265
|
+
attach_function :document_editor_set_keywords, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1266
|
+
attach_function :document_editor_set_page_crop_box, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1267
|
+
attach_function :document_editor_set_page_media_box, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1268
|
+
attach_function :document_editor_set_page_rotation, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1269
|
+
attach_function :document_editor_set_producer, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1270
|
+
attach_function :document_editor_unmark_page_for_flatten, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1271
|
+
attach_function :document_editor_unmark_page_for_redaction, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1272
|
+
attach_function :lut_interp_linear16, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1273
|
+
attach_function :lut_inverse_interp16, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1274
|
+
attach_function :office_create_from_markdown, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1275
|
+
attach_function :office_document_format, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1276
|
+
attach_function :office_document_free, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1277
|
+
attach_function :office_document_open, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1278
|
+
attach_function :office_document_open_from_bytes, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1279
|
+
attach_function :office_document_plain_text, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1280
|
+
attach_function :office_document_save_as, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1281
|
+
attach_function :office_document_to_html, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1282
|
+
attach_function :office_document_to_ir_json, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1283
|
+
attach_function :office_document_to_markdown, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1284
|
+
attach_function :office_editable_free, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1285
|
+
attach_function :office_editable_open, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1286
|
+
attach_function :office_editable_open_from_bytes, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1287
|
+
attach_function :office_editable_replace_text, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1288
|
+
attach_function :office_editable_save, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1289
|
+
attach_function :office_editable_save_to_bytes, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1290
|
+
attach_function :office_editable_set_cell, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1291
|
+
attach_function :office_extract_text, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1292
|
+
attach_function :office_oxide_detect_format, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1293
|
+
attach_function :office_oxide_free_bytes, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1294
|
+
attach_function :office_oxide_free_string, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1295
|
+
attach_function :office_oxide_version, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1296
|
+
attach_function :office_pptx_slide_add_image, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1297
|
+
attach_function :office_pptx_slide_add_text, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1298
|
+
attach_function :office_pptx_slide_set_title, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1299
|
+
attach_function :office_pptx_writer_add_slide, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1300
|
+
attach_function :office_pptx_writer_free, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1301
|
+
attach_function :office_pptx_writer_new, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1302
|
+
attach_function :office_pptx_writer_save, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1303
|
+
attach_function :office_pptx_writer_set_presentation_size, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1304
|
+
attach_function :office_pptx_writer_to_bytes, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1305
|
+
attach_function :office_to_html, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1306
|
+
attach_function :office_to_markdown, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1307
|
+
attach_function :office_xlsx_sheet_merge_cells, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1308
|
+
attach_function :office_xlsx_sheet_set_cell, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1309
|
+
attach_function :office_xlsx_sheet_set_cell_styled, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1310
|
+
attach_function :office_xlsx_sheet_set_column_width, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1311
|
+
attach_function :office_xlsx_writer_add_sheet, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1312
|
+
attach_function :office_xlsx_writer_free, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1313
|
+
attach_function :office_xlsx_writer_new, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1314
|
+
attach_function :office_xlsx_writer_save, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1315
|
+
attach_function :office_xlsx_writer_to_bytes, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1316
|
+
attach_function :pdf_certificate_load_from_pem, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1317
|
+
attach_function :pdf_create_renderer, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1318
|
+
attach_function :pdf_document_authenticate, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1319
|
+
attach_function :pdf_document_builder_a4_page, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1320
|
+
attach_function :pdf_document_builder_build, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1321
|
+
attach_function :pdf_document_builder_create, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1322
|
+
attach_function :pdf_document_builder_free, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1323
|
+
attach_function :pdf_document_builder_language, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1324
|
+
attach_function :pdf_document_builder_letter_page, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1325
|
+
attach_function :pdf_document_builder_on_open, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1326
|
+
attach_function :pdf_document_builder_page, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1327
|
+
attach_function :pdf_document_builder_register_embedded_font, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1328
|
+
attach_function :pdf_document_builder_role_map, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1329
|
+
attach_function :pdf_document_builder_save, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1330
|
+
attach_function :pdf_document_builder_save_encrypted, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1331
|
+
attach_function :pdf_document_builder_set_author, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1332
|
+
attach_function :pdf_document_builder_set_creator, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1333
|
+
attach_function :pdf_document_builder_set_keywords, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1334
|
+
attach_function :pdf_document_builder_set_subject, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1335
|
+
attach_function :pdf_document_builder_set_title, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1336
|
+
attach_function :pdf_document_builder_tagged_pdf_ua1, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1337
|
+
attach_function :pdf_document_builder_to_bytes_encrypted, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1338
|
+
attach_function :pdf_document_classify_document, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1339
|
+
attach_function :pdf_document_classify_page, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1340
|
+
attach_function :pdf_document_erase_artifacts, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1341
|
+
attach_function :pdf_document_erase_footer, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1342
|
+
attach_function :pdf_document_erase_header, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1343
|
+
attach_function :pdf_document_extract_all_text, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1344
|
+
attach_function :pdf_document_extract_chars, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1345
|
+
attach_function :pdf_document_extract_images_in_rect, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1346
|
+
attach_function :pdf_document_extract_lines_in_rect, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1347
|
+
attach_function :pdf_document_extract_page_auto, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1348
|
+
attach_function :pdf_document_extract_paths, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1349
|
+
attach_function :pdf_document_extract_tables, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1350
|
+
attach_function :pdf_document_extract_tables_in_rect, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1351
|
+
attach_function :pdf_document_extract_text_auto, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1352
|
+
attach_function :pdf_document_extract_text_in_rect, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1353
|
+
attach_function :pdf_document_extract_text_lines, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1354
|
+
attach_function :pdf_document_extract_words, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1355
|
+
attach_function :pdf_document_extract_words_in_rect, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1356
|
+
attach_function :pdf_document_get_dss, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1357
|
+
# FfiFormFieldList *pdf_document_get_form_fields(PdfDocument *handle, int32_t *error_code)
|
|
1358
|
+
attach_function :pdf_document_get_form_fields, %i[pointer pointer], :pointer, blocking: false
|
|
1359
|
+
attach_function :pdf_document_get_outline, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1360
|
+
attach_function :pdf_document_get_page_annotations, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1361
|
+
attach_function :pdf_document_get_page_labels, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1362
|
+
attach_function :pdf_document_get_source_bytes, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1363
|
+
attach_function :pdf_document_get_xmp_metadata, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1364
|
+
attach_function :pdf_document_has_timestamp, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1365
|
+
# PdfDocument *pdf_document_open_from_bytes(const uint8_t *data, uintptr_t len, int32_t *error_code)
|
|
1366
|
+
attach_function :pdf_document_open_from_bytes, %i[pointer size_t pointer], :pointer, blocking: false
|
|
1367
|
+
attach_function :pdf_document_open_from_docx_bytes, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1368
|
+
attach_function :pdf_document_open_from_pptx_bytes, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1369
|
+
attach_function :pdf_document_open_from_xlsx_bytes, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1370
|
+
attach_function :pdf_document_open_with_password, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1371
|
+
attach_function :pdf_document_plan_split_by_bookmarks, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1372
|
+
attach_function :pdf_document_remove_artifacts, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1373
|
+
attach_function :pdf_document_remove_footers, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1374
|
+
attach_function :pdf_document_remove_headers, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1375
|
+
attach_function :pdf_document_to_docx, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1376
|
+
# Whole-document text conversions: char *fn(PdfDocument*, int32_t*).
|
|
1377
|
+
# Returned char* is owned (free with free_string via StringMarshaller).
|
|
1378
|
+
attach_function :pdf_document_to_html_all, %i[pointer pointer], :pointer, blocking: false
|
|
1379
|
+
attach_function :pdf_document_to_plain_text_all, %i[pointer pointer], :pointer, blocking: false
|
|
1380
|
+
attach_function :pdf_document_to_pptx, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1381
|
+
attach_function :pdf_document_to_xlsx, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1382
|
+
# int32_t pdf_document_verify_all_signatures(const void *handle, int32_t *error_code)
|
|
1383
|
+
attach_function :pdf_document_verify_all_signatures, %i[pointer pointer], :int32, blocking: false
|
|
1384
|
+
attach_function :pdf_dss_cert_count, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1385
|
+
attach_function :pdf_dss_crl_count, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1386
|
+
attach_function :pdf_dss_free, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1387
|
+
attach_function :pdf_dss_get_cert, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1388
|
+
attach_function :pdf_dss_get_crl, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1389
|
+
attach_function :pdf_dss_get_ocsp, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1390
|
+
attach_function :pdf_dss_ocsp_count, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1391
|
+
attach_function :pdf_dss_vri_count, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1392
|
+
attach_function :pdf_embedded_font_free, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1393
|
+
attach_function :pdf_embedded_font_from_bytes, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1394
|
+
attach_function :pdf_embedded_font_from_file, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1395
|
+
attach_function :pdf_from_html_css, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1396
|
+
attach_function :pdf_from_html_css_with_fonts, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1397
|
+
attach_function :pdf_from_image, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1398
|
+
attach_function :pdf_from_image_bytes, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1399
|
+
attach_function :pdf_get_rendered_image_data, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1400
|
+
attach_function :pdf_get_rendered_image_height, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1401
|
+
attach_function :pdf_get_rendered_image_width, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1402
|
+
attach_function :pdf_merge, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1403
|
+
attach_function :pdf_oxide_annotation_get_border_width, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1404
|
+
attach_function :pdf_oxide_annotation_get_content, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1405
|
+
attach_function :pdf_oxide_annotation_get_modification_date, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1406
|
+
attach_function :pdf_oxide_annotation_get_subtype, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1407
|
+
attach_function :pdf_oxide_annotation_is_hidden, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1408
|
+
attach_function :pdf_oxide_annotation_is_marked_deleted, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1409
|
+
attach_function :pdf_oxide_annotation_is_printable, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1410
|
+
attach_function :pdf_oxide_annotation_is_read_only, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1411
|
+
attach_function :pdf_oxide_annotations_to_json, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1412
|
+
attach_function :pdf_oxide_char_count, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1413
|
+
attach_function :pdf_oxide_char_get_bbox, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1414
|
+
attach_function :pdf_oxide_char_get_char, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1415
|
+
attach_function :pdf_oxide_char_get_font_name, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1416
|
+
attach_function :pdf_oxide_char_get_font_size, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1417
|
+
attach_function :pdf_oxide_char_list_free, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1418
|
+
attach_function :pdf_oxide_crypto_active_provider, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1419
|
+
attach_function :pdf_oxide_crypto_cbom, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1420
|
+
attach_function :pdf_oxide_crypto_fips_available, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1421
|
+
attach_function :pdf_oxide_crypto_inventory, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1422
|
+
attach_function :pdf_oxide_crypto_policy, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1423
|
+
attach_function :pdf_oxide_crypto_set_policy, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1424
|
+
attach_function :pdf_oxide_crypto_use_fips, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1425
|
+
attach_function :pdf_oxide_element_count, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1426
|
+
attach_function :pdf_oxide_element_get_rect, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1427
|
+
attach_function :pdf_oxide_element_get_text, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1428
|
+
attach_function :pdf_oxide_element_get_type, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1429
|
+
attach_function :pdf_oxide_elements_free, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1430
|
+
attach_function :pdf_oxide_elements_to_json, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1431
|
+
attach_function :pdf_oxide_fonts_to_json, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1432
|
+
attach_function :pdf_oxide_form_field_get_type, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1433
|
+
attach_function :pdf_oxide_form_field_get_value, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1434
|
+
attach_function :pdf_oxide_form_field_is_readonly, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1435
|
+
attach_function :pdf_oxide_form_field_is_required, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1436
|
+
attach_function :pdf_oxide_get_log_level, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1437
|
+
attach_function :pdf_oxide_highlight_annotation_get_quad_point, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1438
|
+
attach_function :pdf_oxide_highlight_annotation_get_quad_points_count, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1439
|
+
attach_function :pdf_oxide_line_count, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1440
|
+
attach_function :pdf_oxide_line_get_bbox, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1441
|
+
attach_function :pdf_oxide_line_get_text, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1442
|
+
attach_function :pdf_oxide_line_get_word_count, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1443
|
+
attach_function :pdf_oxide_line_list_free, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1444
|
+
attach_function :pdf_oxide_link_annotation_get_uri, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1445
|
+
attach_function :pdf_oxide_model_manifest, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1446
|
+
attach_function :pdf_oxide_path_count, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1447
|
+
attach_function :pdf_oxide_path_get_bbox, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1448
|
+
attach_function :pdf_oxide_path_get_operation_count, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1449
|
+
attach_function :pdf_oxide_path_get_stroke_width, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1450
|
+
attach_function :pdf_oxide_path_has_fill, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1451
|
+
attach_function :pdf_oxide_path_has_stroke, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1452
|
+
attach_function :pdf_oxide_path_list_free, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1453
|
+
attach_function :pdf_oxide_prefetch_available, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1454
|
+
attach_function :pdf_oxide_prefetch_models, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1455
|
+
attach_function :pdf_oxide_search_results_to_json, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1456
|
+
attach_function :pdf_oxide_set_log_level, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1457
|
+
attach_function :pdf_oxide_table_get_cell_text, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1458
|
+
attach_function :pdf_oxide_table_has_header, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1459
|
+
attach_function :pdf_oxide_text_annotation_get_icon_name, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1460
|
+
attach_function :pdf_oxide_word_count, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1461
|
+
attach_function :pdf_oxide_word_get_bbox, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1462
|
+
attach_function :pdf_oxide_word_get_font_name, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1463
|
+
attach_function :pdf_oxide_word_get_font_size, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1464
|
+
attach_function :pdf_oxide_word_get_text, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1465
|
+
attach_function :pdf_oxide_word_is_bold, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1466
|
+
attach_function :pdf_oxide_word_list_free, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1467
|
+
attach_function :pdf_page_builder_at, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1468
|
+
attach_function :pdf_page_builder_barcode_1d, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1469
|
+
attach_function :pdf_page_builder_barcode_qr, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1470
|
+
attach_function :pdf_page_builder_checkbox, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1471
|
+
attach_function :pdf_page_builder_columns, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1472
|
+
attach_function :pdf_page_builder_combo_box, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1473
|
+
attach_function :pdf_page_builder_done, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1474
|
+
attach_function :pdf_page_builder_field_calculate, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1475
|
+
attach_function :pdf_page_builder_field_format, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1476
|
+
attach_function :pdf_page_builder_field_keystroke, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1477
|
+
attach_function :pdf_page_builder_field_validate, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1478
|
+
# int32_t pdf_page_builder_filled_rect(FfiPageBuilder *handle, float x, float y, float w, float h, float r, float g, float b, int32_t *error_code)
|
|
1479
|
+
attach_function :pdf_page_builder_filled_rect,
|
|
1480
|
+
%i[pointer float float float float float float float pointer], :int32,
|
|
1481
|
+
blocking: false
|
|
1482
|
+
attach_function :pdf_page_builder_font, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1483
|
+
attach_function :pdf_page_builder_footnote, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1484
|
+
attach_function :pdf_page_builder_free, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1485
|
+
attach_function :pdf_page_builder_freetext, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1486
|
+
attach_function :pdf_page_builder_heading, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1487
|
+
attach_function :pdf_page_builder_highlight, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1488
|
+
attach_function :pdf_page_builder_horizontal_rule, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1489
|
+
attach_function :pdf_page_builder_image, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1490
|
+
attach_function :pdf_page_builder_image_artifact, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1491
|
+
# int32_t pdf_page_builder_image_with_alt(FfiPageBuilder *handle, const uint8_t *bytes, uintptr_t len, float x, float y, float w, float h, const char *alt_text, int32_t *error_code)
|
|
1492
|
+
attach_function :pdf_page_builder_image_with_alt,
|
|
1493
|
+
%i[pointer pointer size_t float float float float string pointer], :int32,
|
|
1494
|
+
blocking: false
|
|
1495
|
+
attach_function :pdf_page_builder_inline, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1496
|
+
attach_function :pdf_page_builder_inline_bold, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1497
|
+
attach_function :pdf_page_builder_inline_color, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1498
|
+
attach_function :pdf_page_builder_inline_italic, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1499
|
+
attach_function :pdf_page_builder_line, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1500
|
+
attach_function :pdf_page_builder_link_javascript, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1501
|
+
attach_function :pdf_page_builder_link_named, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1502
|
+
attach_function :pdf_page_builder_link_page, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1503
|
+
attach_function :pdf_page_builder_link_url, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1504
|
+
attach_function :pdf_page_builder_new_page_same_size, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1505
|
+
attach_function :pdf_page_builder_newline, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1506
|
+
attach_function :pdf_page_builder_on_close, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1507
|
+
attach_function :pdf_page_builder_on_open, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1508
|
+
attach_function :pdf_page_builder_paragraph, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1509
|
+
attach_function :pdf_page_builder_push_button, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1510
|
+
attach_function :pdf_page_builder_radio_group, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1511
|
+
attach_function :pdf_page_builder_rect, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1512
|
+
attach_function :pdf_page_builder_signature_field, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1513
|
+
attach_function :pdf_page_builder_space, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1514
|
+
attach_function :pdf_page_builder_squiggly, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1515
|
+
attach_function :pdf_page_builder_stamp, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1516
|
+
attach_function :pdf_page_builder_sticky_note, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1517
|
+
attach_function :pdf_page_builder_sticky_note_at, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1518
|
+
attach_function :pdf_page_builder_streaming_table_batch_count, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1519
|
+
attach_function :pdf_page_builder_streaming_table_begin, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1520
|
+
attach_function :pdf_page_builder_streaming_table_begin_v2, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1521
|
+
attach_function :pdf_page_builder_streaming_table_finish, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1522
|
+
attach_function :pdf_page_builder_streaming_table_flush, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1523
|
+
attach_function :pdf_page_builder_streaming_table_pending_row_count, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1524
|
+
attach_function :pdf_page_builder_streaming_table_push_row, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1525
|
+
attach_function :pdf_page_builder_streaming_table_push_row_v2, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1526
|
+
attach_function :pdf_page_builder_streaming_table_set_batch_size, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1527
|
+
attach_function :pdf_page_builder_strikeout, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1528
|
+
attach_function :pdf_page_builder_stroke_line, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1529
|
+
attach_function :pdf_page_builder_stroke_line_dashed, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1530
|
+
attach_function :pdf_page_builder_stroke_rect, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1531
|
+
attach_function :pdf_page_builder_stroke_rect_dashed, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1532
|
+
attach_function :pdf_page_builder_table, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1533
|
+
attach_function :pdf_page_builder_text, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1534
|
+
attach_function :pdf_page_builder_text_field, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1535
|
+
attach_function :pdf_page_builder_text_in_rect, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1536
|
+
attach_function :pdf_page_builder_underline, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1537
|
+
attach_function :pdf_page_builder_watermark, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1538
|
+
attach_function :pdf_page_builder_watermark_confidential, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1539
|
+
attach_function :pdf_page_builder_watermark_draft, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1540
|
+
attach_function :pdf_page_get_art_box, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1541
|
+
attach_function :pdf_page_get_bleed_box, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1542
|
+
attach_function :pdf_page_get_crop_box, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1543
|
+
attach_function :pdf_page_get_elements, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1544
|
+
attach_function :pdf_page_get_media_box, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1545
|
+
attach_function :pdf_page_get_rotation, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1546
|
+
attach_function :pdf_page_get_trim_box, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1547
|
+
attach_function :pdf_render_page_raw, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1548
|
+
attach_function :pdf_render_page_with_options, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1549
|
+
attach_function :pdf_renderer_free, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1550
|
+
attach_function :pdf_save_rendered_image, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1551
|
+
attach_function :pdf_sign_bytes, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1552
|
+
attach_function :pdf_sign_bytes_pades, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1553
|
+
attach_function :pdf_sign_bytes_pades_opts, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1554
|
+
attach_function :pdf_signature_get_pades_level, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1555
|
+
attach_function :pdf_signature_get_signer_name, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1556
|
+
attach_function :pdf_signature_get_signing_location, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1557
|
+
attach_function :pdf_signature_get_signing_reason, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1558
|
+
attach_function :pdf_signature_get_signing_time, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1559
|
+
attach_function :pdf_signature_verify_detached, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1560
|
+
attach_function :pdf_timestamp_parse, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1561
|
+
# FfiPdfAResults *pdf_validate_pdf_a_level(PdfDocument *document, int32_t level, int32_t *error_code)
|
|
1562
|
+
attach_function :pdf_validate_pdf_a_level, %i[pointer int32 pointer], :pointer, blocking: false
|
|
1563
|
+
# FfiPdfXResults *pdf_validate_pdf_x_level(PdfDocument *document, int32_t level, int32_t *error_code)
|
|
1564
|
+
attach_function :pdf_validate_pdf_x_level, %i[pointer int32 pointer], :pointer, blocking: false
|
|
1565
|
+
attach_function :qcms_enable_iccv4, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1566
|
+
attach_function :qcms_profile_is_bogus, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1567
|
+
attach_function :qcms_profile_precache_output_transform, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1568
|
+
attach_function :qcms_transform_data_bgra_out_lut, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1569
|
+
attach_function :qcms_transform_data_bgra_out_lut_precache, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1570
|
+
attach_function :qcms_transform_data_rgb_out_lut, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1571
|
+
attach_function :qcms_transform_data_rgb_out_lut_precache, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1572
|
+
attach_function :qcms_transform_data_rgba_out_lut, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1573
|
+
attach_function :qcms_transform_data_rgba_out_lut_precache, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1574
|
+
# The `_avx` and `_sse2` qcms transforms are x86-only intrinsics
|
|
1575
|
+
# builds; they are absent on aarch64-{darwin,linux} cdylibs.
|
|
1576
|
+
# qcms internally selects the right impl, so the Ruby side never
|
|
1577
|
+
# calls these directly — wrap in a tolerant attach so the gem
|
|
1578
|
+
# loads on ARM. (Public C ABI never exposes these; they leak
|
|
1579
|
+
# from the qcms crate's `#[no_mangle]` symbols.)
|
|
1580
|
+
%i[qcms_transform_data_bgra_out_lut_avx qcms_transform_data_bgra_out_lut_sse2
|
|
1581
|
+
qcms_transform_data_rgb_out_lut_avx qcms_transform_data_rgb_out_lut_sse2
|
|
1582
|
+
qcms_transform_data_rgba_out_lut_avx qcms_transform_data_rgba_out_lut_sse2].each do |sym|
|
|
1583
|
+
attach_function sym, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1584
|
+
rescue ::FFI::NotFoundError
|
|
1585
|
+
# Symbol absent on this arch — never invoked from Ruby, skip silently.
|
|
1586
|
+
end
|
|
1587
|
+
attach_function :qcms_transform_release, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1588
|
+
attach_function :qcms_white_point_sRGB, %i[pointer pointer pointer pointer pointer pointer pointer pointer], :pointer, blocking: false
|
|
1589
|
+
|
|
1590
|
+
# ============================================================
|
|
1591
|
+
# PHASE 2 REPAIR: real signatures for symbols the Ruby wrappers
|
|
1592
|
+
# actively call. FFI's `attach_function` lets a later declaration
|
|
1593
|
+
# override an earlier generic skeleton with the correct signature.
|
|
1594
|
+
# ============================================================
|
|
1595
|
+
|
|
1596
|
+
# PDF creation entry points (replace Creator stub) - returns Pdf*.
|
|
1597
|
+
attach_function :pdf_from_markdown, %i[string pointer], :pointer
|
|
1598
|
+
attach_function :pdf_from_html, %i[string pointer], :pointer
|
|
1599
|
+
attach_function :pdf_from_text, %i[string pointer], :pointer
|
|
1600
|
+
attach_function :pdf_from_image, %i[string pointer], :pointer
|
|
1601
|
+
attach_function :pdf_from_image_bytes, %i[pointer size_t pointer], :pointer
|
|
1602
|
+
|
|
1603
|
+
# PDF handle save / inspect / free.
|
|
1604
|
+
attach_function :pdf_save, %i[pointer string pointer], :int32
|
|
1605
|
+
attach_function :pdf_save_to_bytes, %i[pointer pointer pointer], :pointer
|
|
1606
|
+
attach_function :pdf_get_page_count, %i[pointer pointer], :int32
|
|
1607
|
+
|
|
1608
|
+
# Free helpers — kept explicit so StringMarshaller.free_c_string
|
|
1609
|
+
# resolves to a real ABI signature.
|
|
1610
|
+
attach_function :pdf_free, [:pointer], :void
|
|
1611
|
+
attach_function :free_bytes, [:pointer], :void
|
|
1612
|
+
|
|
1613
|
+
# ============================================================
|
|
1614
|
+
# PHASE 3 EXTEND: real signatures for v0.3.50-v0.3.54 features.
|
|
1615
|
+
# Each entry below replaces the placeholder 8-pointer skeleton
|
|
1616
|
+
# earlier in the file (FFI permits later attach_function calls
|
|
1617
|
+
# to override the prior declaration).
|
|
1618
|
+
# ============================================================
|
|
1619
|
+
|
|
1620
|
+
# Auto-extraction (#519, v0.3.51) — JSON-returning classifiers
|
|
1621
|
+
# plus the text-only auto-router. All return malloc'd char*;
|
|
1622
|
+
# free with pdf_free / free_string.
|
|
1623
|
+
attach_function :pdf_document_classify_page, %i[pointer int32 pointer], :pointer
|
|
1624
|
+
attach_function :pdf_document_classify_document, %i[pointer pointer], :pointer
|
|
1625
|
+
attach_function :pdf_document_extract_text_auto, %i[pointer int32 pointer], :pointer
|
|
1626
|
+
attach_function :pdf_document_extract_page_auto, %i[pointer int32 string pointer], :pointer
|
|
1627
|
+
|
|
1628
|
+
# Models subsystem (#519 provisioning trio).
|
|
1629
|
+
attach_function :pdf_oxide_prefetch_models, %i[string pointer], :pointer
|
|
1630
|
+
attach_function :pdf_oxide_model_manifest, [], :pointer
|
|
1631
|
+
attach_function :pdf_oxide_prefetch_available, [], :int32
|
|
1632
|
+
|
|
1633
|
+
# Office converter (#159, v0.3.48). All three return a PdfDocument*.
|
|
1634
|
+
attach_function :pdf_document_open_from_docx_bytes, %i[pointer size_t pointer], :pointer
|
|
1635
|
+
attach_function :pdf_document_open_from_pptx_bytes, %i[pointer size_t pointer], :pointer
|
|
1636
|
+
attach_function :pdf_document_open_from_xlsx_bytes, %i[pointer size_t pointer], :pointer
|
|
1637
|
+
|
|
1638
|
+
# Split-by-bookmarks plan (v0.3.50). Returns a JSON plan as
|
|
1639
|
+
# char*; the consumer interprets the segment list and feeds
|
|
1640
|
+
# each {start_page, end_page} pair to extract-page utilities.
|
|
1641
|
+
attach_function :pdf_document_plan_split_by_bookmarks,
|
|
1642
|
+
%i[pointer string pointer], :pointer
|
|
1643
|
+
|
|
1644
|
+
# Destructive redaction (#231, v0.3.50). Operates on a
|
|
1645
|
+
# DocumentEditor* handle (NOT a PdfDocument*).
|
|
1646
|
+
attach_function :pdf_redaction_add,
|
|
1647
|
+
%i[pointer size_t
|
|
1648
|
+
double double double double
|
|
1649
|
+
double double double
|
|
1650
|
+
pointer],
|
|
1651
|
+
:int32
|
|
1652
|
+
attach_function :pdf_redaction_count, %i[pointer size_t pointer], :int32
|
|
1653
|
+
attach_function :pdf_redaction_apply,
|
|
1654
|
+
%i[pointer bool double double double pointer], :int32
|
|
1655
|
+
attach_function :pdf_redaction_scrub_metadata, %i[pointer pointer], :int32
|
|
1656
|
+
|
|
1657
|
+
# PAdES signing — the 5-arg shim (v0.3.51 #517 follow-up to
|
|
1658
|
+
# v0.3.50 #235). The 18-arg legacy entry is still available
|
|
1659
|
+
# under pdf_sign_bytes_pades but the shim is canonical for all
|
|
1660
|
+
# bindings (purego cannot register the legacy form).
|
|
1661
|
+
attach_function :pdf_sign_bytes_pades_opts,
|
|
1662
|
+
%i[pointer size_t pointer pointer pointer], :pointer
|
|
1663
|
+
|
|
1664
|
+
# PAdES level inspection.
|
|
1665
|
+
attach_function :pdf_signature_get_pades_level, %i[pointer pointer], :int32
|
|
1666
|
+
attach_function :pdf_document_has_timestamp, %i[pointer pointer], :int32
|
|
1667
|
+
|
|
1668
|
+
# PAdES level enum codes (frozen). These are the int32 values
|
|
1669
|
+
# `pdf_signature_get_pades_level` returns and the `level`
|
|
1670
|
+
# field of `PadesSignOptionsC` takes. Keep the names mirrored
|
|
1671
|
+
# against the Rust `PadesLevel` enum.
|
|
1672
|
+
PADES_LEVEL_B = 0
|
|
1673
|
+
PADES_LEVEL_T = 1
|
|
1674
|
+
PADES_LEVEL_LT = 2
|
|
1675
|
+
PADES_LEVEL_LTA = 3
|
|
1676
|
+
|
|
1677
|
+
# DocumentEditor lifecycle — needed by RedactionManager so it
|
|
1678
|
+
# can apply redactions destructively to an editor handle and
|
|
1679
|
+
# save the resulting bytes. The existing skeletons use generic
|
|
1680
|
+
# 8-pointer signatures; these declarations refine them.
|
|
1681
|
+
attach_function :document_editor_open, %i[string pointer], :pointer
|
|
1682
|
+
attach_function :document_editor_open_from_bytes,
|
|
1683
|
+
%i[pointer size_t pointer], :pointer
|
|
1684
|
+
attach_function :document_editor_free, [:pointer], :void
|
|
1685
|
+
attach_function :document_editor_save, %i[pointer string pointer], :int32
|
|
1686
|
+
attach_function :document_editor_save_to_bytes,
|
|
1687
|
+
%i[pointer pointer pointer], :pointer
|
|
1688
|
+
attach_function :document_editor_apply_page_redactions,
|
|
1689
|
+
%i[pointer size_t pointer], :int32
|
|
1690
|
+
attach_function :document_editor_apply_all_redactions,
|
|
1691
|
+
%i[pointer pointer], :int32
|
|
1692
|
+
end
|
|
1693
|
+
end
|
|
1694
|
+
end
|