1 #ifndef FS_TABLEGENERATOR_H_ 2 #define FS_TABLEGENERATOR_H_ 7 #ifndef __EMSCRIPTEN_RENDER__ 24 namespace tablegenerator {
33 typedef enum _TableBorderStyle {
123 return !((*this) == data);
189 : cell_text_style(
foxit::pdf::RichTextStyle())
190 , cell_fill_color(0xFFFFFFFF)
192 , cell_margin(
RectF()) {}
204 :cell_text_style(cell_text_style)
205 ,cell_fill_color(cell_fill_color)
206 ,cell_text(cell_text)
207 ,cell_image(cell_image)
208 ,cell_margin(cell_margin) {}
216 : cell_text_style(data.cell_text_style)
217 , cell_fill_color(data.cell_fill_color)
218 , cell_text(data.cell_text)
219 , cell_image(data.cell_image)
220 , cell_margin(data.cell_margin) {}
261 return !((*this) == data);
276 this->cell_text_style = cell_text_style;
277 this->cell_fill_color = cell_fill_color;
278 this->cell_text = cell_text;
279 this->cell_image = cell_image;
280 this->cell_margin = cell_margin;
355 ,row_count(row_count)
356 ,col_count(col_count)
357 ,outside_border_left(outside_border_left)
358 ,outside_border_right(outside_border_right)
359 ,outside_border_top(outside_border_top)
360 ,outside_border_bottom(outside_border_bottom)
361 ,inside_border_row(inside_border_row)
362 ,inside_border_col(inside_border_col)
363 ,merge_cells(merge_cells)
364 ,row_height_array(row_height_array)
365 ,col_width_array(col_width_array) {
375 ,row_count(data.row_count)
376 ,col_count(data.col_count)
377 ,outside_border_left(data.outside_border_left)
378 ,outside_border_right(data.outside_border_right)
379 ,outside_border_top(data.outside_border_top)
380 ,outside_border_bottom(data.outside_border_bottom)
381 ,inside_border_row(data.inside_border_row)
382 ,inside_border_col(data.inside_border_col)
383 ,merge_cells(data.merge_cells)
384 ,row_height_array(data.row_height_array)
385 ,col_width_array(data.col_width_array) {
397 for (
size_t i = 0; i < merge_cells.GetSize(); i++)
400 for (
int i = 0; i < row_height_array.GetSize(); i++)
403 for (
int i = 0; i < col_width_array.GetSize(); i++)
405 return (rect == data.
rect &&
424 return !((*this) == data);
472 this->row_count = row_count;
473 this->col_count = col_count;
474 this->outside_border_left = outside_border_left;
475 this->outside_border_right = outside_border_right;
476 this->outside_border_top = outside_border_top;
477 this->outside_border_bottom = outside_border_bottom;
478 this->inside_border_row = inside_border_row;
479 this->inside_border_col = inside_border_col;
480 this->merge_cells = merge_cells;
481 this->row_height_array = row_height_array;
482 this->col_width_array = col_width_array;
FloatArray col_width_array
列宽数组。如果数组成员为零,列宽将自动设置为默认值。默认值:(rect 的宽度)/col_count。
Definition: fs_tablegenerator.h:528
TableCellData()
构造函数。
Definition: fs_tablegenerator.h:188
Definition: fs_annot.h:201
ARGB color
表格边框颜色。格式:0xAARRGGBB。
Definition: fs_tablegenerator.h:162
CFX_Object Object
对象类型。
Definition: fs_basictypes.h:221
FloatArray dashes
表示虚线模式的虚线数组。此数组中每个元素的值 不应为负。仅当 style 为 TableBorderInfo::e_TableBorderStyleDashed 时有用。 更多详细信息请参考 <PDF ...
Definition: fs_tablegenerator.h:175
TableData(const TableData &data)
拷贝构造函数。
Definition: fs_tablegenerator.h:373
Definition: fs_tablegenerator.h:185
TableBorderInfo outside_border_right
右外边框信息。
Definition: fs_tablegenerator.h:501
TableData()
构造函数。
Definition: fs_tablegenerator.h:324
Definition: fx_coordinates.h:30
int GetSize() const
获取数组中元素的数量。
Definition: fx_basic.h:1341
float line_width
表格边框线宽,以点为单位。应该是非负值。 如果此值为 0,则不绘制边框。
Definition: fs_tablegenerator.h:159
void Set(const TableBorderStyle &table_border_style, float line_width, ARGB color, float dash_phase, FloatArray dashes)
设置值。
Definition: fs_tablegenerator.h:141
foxit::common::Image cell_image
单元格的图像内容。
Definition: fs_tablegenerator.h:303
宽字符串类
Definition: fx_string.h:1457
bool operator !=(const TableBorderInfo &data) const
不等操作符。
Definition: fs_tablegenerator.h:122
virtual void Release()=0
用于释放当前回调对象本身的回调函数。
TableBorderInfo(const TableBorderInfo &table_border_info)
拷贝构造函数。
Definition: fs_tablegenerator.h:74
foxit::pdf::RichTextStyle cell_text_style
单元格文本样式。
Definition: fs_tablegenerator.h:284
void Set(RectF rect, int row_count, int col_count, TableBorderInfo outside_border_left, TableBorderInfo outside_border_right, TableBorderInfo outside_border_top, TableBorderInfo outside_border_bottom, TableBorderInfo inside_border_row, TableBorderInfo inside_border_col, TableCellIndexArray merge_cells, FloatArray row_height_array, FloatArray col_width_array)
设置值。
Definition: fs_tablegenerator.h:468
Definition: fs_pdfdoc.h:771
int col_count
表格中的列数。
Definition: fs_tablegenerator.h:495
float dash_phase
虚线相位。不应为负。仅当参数 style 为 TableBorderInfo::e_TableBorderStyleDashed 时有用。 更多详细信息请参考 <PDF Reference 1....
Definition: fs_tablegenerator.h:168
ARGB cell_fill_color
单元格的填充颜色。格式:0xAARRGGBB。
Definition: fs_tablegenerator.h:287
TableBorderInfo outside_border_top
上外边框信息。
Definition: fs_tablegenerator.h:504
Definition: fs_tablegenerator.h:182
TableBorderStyle table_border_style
表格边框样式。请参考从 TableBorderInfo::e_TableBorderStyleSolid 开始的值, 应该是这些值中的一个。
Definition: fs_tablegenerator.h:153
Definition: fs_tablegenerator.h:26
bool operator==(const char *str1, const CFX_ByteString &str2)
检查两个字节字符串是否相等。
Definition: fs_basictypes.h:128
bool operator==(const TableBorderInfo &table_border_info) const
相等操作符。
Definition: fs_tablegenerator.h:104
WString cell_text
单元格的文本内容。
Definition: fs_tablegenerator.h:295
uint32 ARGB
ARGB 颜色类型,32 位,((b) | ((g) << 8) | ((r) << 16)) | ((a) << 24)
Definition: fs_basictypes.h:210
Definition: fs_pdfdoc.h:492
TableBorderInfo outside_border_bottom
下外边框信息。
Definition: fs_tablegenerator.h:507
TableCellIndexArray merge_cells
合并单元格。此数组的长度必须是偶数,零长度表示没有合并单元格。
Definition: fs_tablegenerator.h:522
TableCellData(const foxit::pdf::RichTextStyle &cell_text_style, const ARGB cell_fill_color, const WString &cell_text, const foxit::common::Image &cell_image, const RectF &cell_margin)
构造函数,带参数。
Definition: fs_tablegenerator.h:203
TableBorderInfo inside_border_row
行内边框信息。
Definition: fs_tablegenerator.h:510
Definition: fs_tablegenerator.h:321
const TYPE GetAt(int nIndex) const
此方法检索由索引号指定的元素。
Definition: fx_basic.h:1377
TableBorderInfo & operator=(const TableBorderInfo &data)
赋值操作符。
Definition: fs_tablegenerator.h:88
表格单元格索引的数组。
Definition: fs_tablegenerator.h:318
static bool AddTableToPage(const foxit::pdf::PDFPage &page, const TableData &data, const TableCellDataArray &cell_array)
向 PDF 页面添加新表格。
Definition: fs_pdfpage.h:421
TableData(RectF rect, int row_count, int col_count, TableBorderInfo outside_border_left, TableBorderInfo outside_border_right, TableBorderInfo outside_border_top, TableBorderInfo outside_border_bottom, TableBorderInfo inside_border_row, TableBorderInfo inside_border_col, TableCellIndexArray merge_cells, FloatArray row_height_array, FloatArray col_width_array)
构造函数,带参数。
Definition: fs_tablegenerator.h:351
void Set(const foxit::pdf::RichTextStyle &cell_text_style, const ARGB cell_fill_color, const WString &cell_text, const foxit::common::Image &cell_image, const RectF &cell_margin)
设置值。
Definition: fs_tablegenerator.h:275
CFX_Point TableCellIndex
表格单元格索引。x 表示单元格的行索引,y 表示单元格的列索引。
Definition: fs_tablegenerator.h:315
TableBorderStyle
PDF 表格边框样式的枚举。
Definition: fs_tablegenerator.h:33
Definition: fs_tablegenerator.h:576
TableBorderInfo outside_border_left
左外边框信息。
Definition: fs_tablegenerator.h:498
static bool InsertTablePagesToDocument(const foxit::pdf::PDFDoc &doc, int dest_page_index, float page_width, float page_height, const TableData &data, const TableCellDataArray &cell_array, bool allow_to_cross_page, TableGeneratorCallback *tablegenerator_callback=0)
向文档插入包含在一页或多页中的新表格。
表格边框样式:虚线。
Definition: fs_tablegenerator.h:37
FloatArray row_height_array
行高数组。如果数组成员为零,行高将自动设置为默认值。默认值:(rect 的高度)/row_count。
Definition: fs_tablegenerator.h:525
RectF cell_margin
内容与单元格边框之间的单元格边距。
Definition: fs_tablegenerator.h:311
Definition: fs_basictypes.h:449
int row_count
表格中的行数。
Definition: fs_tablegenerator.h:492
size_t GetSize() const
获取当前数组中元素的大小。
TableCellData(const TableCellData &data)
拷贝构造函数。
Definition: fs_tablegenerator.h:215
TableBorderInfo()
构造函数。
Definition: fs_tablegenerator.h:42
Foxit命名空间。
Definition: fs_taggedpdf.h:27
virtual float GetTableTopMarginToPage(int page_index)=0
获取要生成到新页面的表格的上边距的回调函数。
TableCellIndex GetAt(size_t index) const
检索当前数组中由索引指定位置的元素副本。
表格边框样式:实线。
Definition: fs_tablegenerator.h:35
TableBorderInfo inside_border_col
列内边框信息。
Definition: fs_tablegenerator.h:513
#define NULL
空指针值。
Definition: fx_system.h:792
TableBorderInfo(const TableBorderStyle &table_border_style, float line_width, ARGB color, float dash_phase, FloatArray dashes)
构造函数,带参数。
Definition: fs_tablegenerator.h:62
virtual foxit::pdf::PageBasicInfo GetNewPageBasicInfo(int page_index, float rest_table_height, float table_width)=0
获取要生成到新页面的新页面基本信息的回调函数。
此类表示 TableCellData 对象的数组,按显示表格的从左到右顺序插入。
Definition: fs_tablegenerator.h:180
Definition: fs_tablegenerator.h:535
RectF rect
表格的矩形,指定在 PDF 页面中的位置。 应该在 PDF 坐标系 中。
Definition: fs_tablegenerator.h:489
Definition: fs_image.h:449
Definition: fx_coordinates.h:771