1 #ifndef FS_TABLEGENERATOR_H_ 2 #define FS_TABLEGENERATOR_H_ 22 namespace tablegenerator {
31 typedef enum _TableBorderStyle {
121 return !((*this) == data);
187 : cell_text_style(
foxit::pdf::RichTextStyle())
188 , cell_fill_color(0xFFFFFFFF)
190 , cell_margin(
RectF()) {}
202 :cell_text_style(cell_text_style)
203 ,cell_fill_color(cell_fill_color)
204 ,cell_text(cell_text)
205 ,cell_image(cell_image)
206 ,cell_margin(cell_margin) {}
214 : cell_text_style(data.cell_text_style)
215 , cell_fill_color(data.cell_fill_color)
216 , cell_text(data.cell_text)
217 , cell_image(data.cell_image)
218 , cell_margin(data.cell_margin) {}
259 return !((*this) == data);
274 this->cell_text_style = cell_text_style;
275 this->cell_fill_color = cell_fill_color;
276 this->cell_text = cell_text;
277 this->cell_image = cell_image;
278 this->cell_margin = cell_margin;
353 ,row_count(row_count)
354 ,col_count(col_count)
355 ,outside_border_left(outside_border_left)
356 ,outside_border_right(outside_border_right)
357 ,outside_border_top(outside_border_top)
358 ,outside_border_bottom(outside_border_bottom)
359 ,inside_border_row(inside_border_row)
360 ,inside_border_col(inside_border_col)
361 ,merge_cells(merge_cells)
362 ,row_height_array(row_height_array)
363 ,col_width_array(col_width_array) {
373 ,row_count(data.row_count)
374 ,col_count(data.col_count)
375 ,outside_border_left(data.outside_border_left)
376 ,outside_border_right(data.outside_border_right)
377 ,outside_border_top(data.outside_border_top)
378 ,outside_border_bottom(data.outside_border_bottom)
379 ,inside_border_row(data.inside_border_row)
380 ,inside_border_col(data.inside_border_col)
381 ,merge_cells(data.merge_cells)
382 ,row_height_array(data.row_height_array)
383 ,col_width_array(data.col_width_array) {
395 for (
size_t i = 0; i < merge_cells.GetSize(); i++)
398 for (
int i = 0; i < row_height_array.GetSize(); i++)
401 for (
int i = 0; i < col_width_array.GetSize(); i++)
403 return (rect == data.
rect &&
422 return !((*this) == data);
470 this->row_count = row_count;
471 this->col_count = col_count;
472 this->outside_border_left = outside_border_left;
473 this->outside_border_right = outside_border_right;
474 this->outside_border_top = outside_border_top;
475 this->outside_border_bottom = outside_border_bottom;
476 this->inside_border_row = inside_border_row;
477 this->inside_border_col = inside_border_col;
478 this->merge_cells = merge_cells;
479 this->row_height_array = row_height_array;
480 this->col_width_array = col_width_array;
FloatArray col_width_array
列宽数组。如果数组成员为零,列宽将自动设置为默认值。默认值:(rect 的宽度)/col_count。
Definition: fs_tablegenerator.h:526
TableCellData()
构造函数。
Definition: fs_tablegenerator.h:186
Definition: fs_annot.h:201
ARGB color
表格边框颜色。格式:0xAARRGGBB。
Definition: fs_tablegenerator.h:160
CFX_Object Object
对象类型。
Definition: fs_basictypes.h:220
FloatArray dashes
表示虚线模式的虚线数组。此数组中每个元素的值 不应为负。仅当 style 为 TableBorderInfo::e_TableBorderStyleDashed 时有用。 更多详细信息请参考 <PDF ...
Definition: fs_tablegenerator.h:173
TableData(const TableData &data)
拷贝构造函数。
Definition: fs_tablegenerator.h:371
Definition: fs_tablegenerator.h:183
TableBorderInfo outside_border_right
右外边框信息。
Definition: fs_tablegenerator.h:499
TableData()
构造函数。
Definition: fs_tablegenerator.h:322
Definition: fx_coordinates.h:30
int GetSize() const
获取数组中元素的数量。
Definition: fx_basic.h:1341
float line_width
表格边框线宽,以点为单位。应该是非负值。 如果此值为 0,则不绘制边框。
Definition: fs_tablegenerator.h:157
void Set(const TableBorderStyle &table_border_style, float line_width, ARGB color, float dash_phase, FloatArray dashes)
设置值。
Definition: fs_tablegenerator.h:139
foxit::common::Image cell_image
单元格的图像内容。
Definition: fs_tablegenerator.h:301
宽字符串类
Definition: fx_string.h:1457
bool operator !=(const TableBorderInfo &data) const
不等操作符。
Definition: fs_tablegenerator.h:120
virtual void Release()=0
用于释放当前回调对象本身的回调函数。
TableBorderInfo(const TableBorderInfo &table_border_info)
拷贝构造函数。
Definition: fs_tablegenerator.h:72
foxit::pdf::RichTextStyle cell_text_style
单元格文本样式。
Definition: fs_tablegenerator.h:282
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:466
Definition: fs_pdfdoc.h:768
int col_count
表格中的列数。
Definition: fs_tablegenerator.h:493
float dash_phase
虚线相位。不应为负。仅当参数 style 为 TableBorderInfo::e_TableBorderStyleDashed 时有用。 更多详细信息请参考 <PDF Reference 1....
Definition: fs_tablegenerator.h:166
ARGB cell_fill_color
单元格的填充颜色。格式:0xAARRGGBB。
Definition: fs_tablegenerator.h:285
TableBorderInfo outside_border_top
上外边框信息。
Definition: fs_tablegenerator.h:502
Definition: fs_tablegenerator.h:180
TableBorderStyle table_border_style
表格边框样式。请参考从 TableBorderInfo::e_TableBorderStyleSolid 开始的值, 应该是这些值中的一个。
Definition: fs_tablegenerator.h:151
Definition: fs_tablegenerator.h:24
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:102
WString cell_text
单元格的文本内容。
Definition: fs_tablegenerator.h:293
uint32 ARGB
ARGB 颜色类型,32 位,((b) | ((g) << 8) | ((r) << 16)) | ((a) << 24)
Definition: fs_basictypes.h:209
Definition: fs_pdfdoc.h:489
TableBorderInfo outside_border_bottom
下外边框信息。
Definition: fs_tablegenerator.h:505
TableCellIndexArray merge_cells
合并单元格。此数组的长度必须是偶数,零长度表示没有合并单元格。
Definition: fs_tablegenerator.h:520
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:201
TableBorderInfo inside_border_row
行内边框信息。
Definition: fs_tablegenerator.h:508
Definition: fs_tablegenerator.h:319
const TYPE GetAt(int nIndex) const
此方法检索由索引号指定的元素。
Definition: fx_basic.h:1377
TableBorderInfo & operator=(const TableBorderInfo &data)
赋值操作符。
Definition: fs_tablegenerator.h:86
表格单元格索引的数组。
Definition: fs_tablegenerator.h:316
static bool AddTableToPage(const foxit::pdf::PDFPage &page, const TableData &data, const TableCellDataArray &cell_array)
向 PDF 页面添加新表格。
Definition: fs_pdfpage.h:417
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:349
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:273
CFX_Point TableCellIndex
表格单元格索引。x 表示单元格的行索引,y 表示单元格的列索引。
Definition: fs_tablegenerator.h:313
TableBorderStyle
PDF 表格边框样式的枚举。
Definition: fs_tablegenerator.h:31
Definition: fs_tablegenerator.h:574
TableBorderInfo outside_border_left
左外边框信息。
Definition: fs_tablegenerator.h:496
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:35
FloatArray row_height_array
行高数组。如果数组成员为零,行高将自动设置为默认值。默认值:(rect 的高度)/row_count。
Definition: fs_tablegenerator.h:523
RectF cell_margin
内容与单元格边框之间的单元格边距。
Definition: fs_tablegenerator.h:309
Definition: fs_basictypes.h:465
int row_count
表格中的行数。
Definition: fs_tablegenerator.h:490
size_t GetSize() const
获取当前数组中元素的大小。
TableCellData(const TableCellData &data)
拷贝构造函数。
Definition: fs_tablegenerator.h:213
TableBorderInfo()
构造函数。
Definition: fs_tablegenerator.h:40
Foxit命名空间。
Definition: fs_pdf3d.h:26
virtual float GetTableTopMarginToPage(int page_index)=0
获取要生成到新页面的表格的上边距的回调函数。
TableCellIndex GetAt(size_t index) const
检索当前数组中由索引指定位置的元素副本。
表格边框样式:实线。
Definition: fs_tablegenerator.h:33
TableBorderInfo inside_border_col
列内边框信息。
Definition: fs_tablegenerator.h:511
#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:60
virtual foxit::pdf::PageBasicInfo GetNewPageBasicInfo(int page_index, float rest_table_height, float table_width)=0
获取要生成到新页面的新页面基本信息的回调函数。
此类表示 TableCellData 对象的数组,按显示表格的从左到右顺序插入。
Definition: fs_tablegenerator.h:178
Definition: fs_tablegenerator.h:533
RectF rect
表格的矩形,指定在 PDF 页面中的位置。 应该在 PDF 坐标系 中。
Definition: fs_tablegenerator.h:487
Definition: fs_image.h:450
Definition: fx_coordinates.h:771