├── jquick-pdf-font └── src │ ├── test │ └── resources │ │ └── .gitkeep │ └── main │ ├── resources │ └── fonts │ │ └── simhei.ttf │ └── java │ └── com │ └── github │ └── paohaijiao │ ├── font │ └── JFontProvider.java │ └── enums │ ├── JFrontWeight.java │ └── JFrontStyle.java ├── pay ├── demo.png ├── tngGo.jpg ├── alipay.jpg ├── paynow.jpg └── wechat.jpg ├── jquick-pdf-css └── src │ └── main │ └── java │ └── com │ └── github │ └── paohaijiao │ ├── package-info.java │ ├── css │ ├── package-info.java │ ├── a │ │ └── package-info.java │ ├── e │ │ └── model │ │ │ └── JCSSPropertiesEModel.java │ ├── k │ │ └── model │ │ │ └── JCSSPropertiesKModel.java │ └── d │ │ └── model │ │ └── JCSSPropertiesDModel.java │ ├── style │ └── package-info.java │ ├── model │ ├── JStyleAttributes.java │ ├── css │ │ └── JCSSPropertiesCoreModel.java │ ├── provider │ │ └── JCSSPropertiesProvider.java │ ├── font │ │ └── JTextShadowModel.java │ ├── JStyleAreaBreakAttributes.java │ ├── JStyleListAttributes.java │ └── JStyleDivAttributes.java │ ├── enums │ ├── JFontKerning.java │ ├── JVerticalAlignment.java │ ├── JBaseDirection.java │ └── JTextAlignment.java │ └── custom │ └── JBackdropFilterRenderer.java ├── jquick-pdf-svg └── src │ ├── main │ └── java │ │ └── com │ │ └── github │ │ └── paohaijiao │ │ ├── package-info.java │ │ ├── provider │ │ ├── JSvgProvider.java │ │ └── JChartRenderer.java │ │ ├── model │ │ └── JIndicator.java │ │ └── data │ │ └── JGraphContainer.java │ └── test │ └── java │ └── BubbleDataCreator.java ├── jquick-pdfx └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── github │ │ │ └── paohaijiao │ │ │ ├── package-info.java │ │ │ ├── extension │ │ │ ├── package-info.java │ │ │ └── svg │ │ │ │ └── package-info.java │ │ │ ├── enums │ │ │ ├── JFontType.java │ │ │ ├── JDirect.java │ │ │ ├── JListType.java │ │ │ ├── JUnit.java │ │ │ ├── JAreaBreakEnums.java │ │ │ └── JHtmlPageBreakTypeEnums.java │ │ │ ├── sample │ │ │ ├── ReportBeanBuilder.java │ │ │ ├── CatalogType.java │ │ │ ├── ReportConstant.java │ │ │ ├── ReportExtraParam.java │ │ │ ├── CataLog.java │ │ │ ├── ReportColor.java │ │ │ └── event │ │ │ │ └── CatalogMoveEvent.java │ │ │ ├── advance │ │ │ └── JPdfXHtmlProvider.java │ │ │ ├── render │ │ │ ├── impl │ │ │ │ ├── JFontRenderer.java │ │ │ │ ├── JCellRender.java │ │ │ │ ├── JFormRender.java │ │ │ │ ├── JRadioRender.java │ │ │ │ ├── JTabRender.java │ │ │ │ ├── JButtonRender.java │ │ │ │ ├── JConvasRender.java │ │ │ │ ├── JAreaBreakRender.java │ │ │ │ ├── JCheckBoxRender.java │ │ │ │ ├── JCombolBoxRender.java │ │ │ │ ├── JInputFieldRender.java │ │ │ │ ├── JTextAreaRender.java │ │ │ │ ├── JInputButtonRender.java │ │ │ │ ├── JListBoxFieldRender.java │ │ │ │ ├── JHtmlPageBreakRender.java │ │ │ │ ├── JPageTargetCountRender.java │ │ │ │ ├── JPageCountElementRender.java │ │ │ │ ├── JCellRenderer.java │ │ │ │ ├── JLinkRenderer.java │ │ │ │ ├── JListRenderer.java │ │ │ │ ├── JTableRenderer.java │ │ │ │ ├── JTextRenderer.java │ │ │ │ ├── JDefautRenderer.java │ │ │ │ ├── JImageRenderer.java │ │ │ │ ├── JListItemRenderer.java │ │ │ │ ├── JTabTypeRenderer.java │ │ │ │ ├── JParagraphRenderer.java │ │ │ │ ├── JSvgImageRenderer.java │ │ │ │ ├── JLineSeperaterRenderer.java │ │ │ │ └── JRunningElementRenderer.java │ │ │ └── JStyleRenderer.java │ │ │ ├── model │ │ │ ├── JBorderModel.java │ │ │ ├── JMarginModel.java │ │ │ ├── style │ │ │ │ ├── JStyleAlignModel.java │ │ │ │ ├── JStyleSpacingModel.java │ │ │ │ └── JStyleModel.java │ │ │ ├── JNumberUnitModel.java │ │ │ ├── JHtmlRenderModel.java │ │ │ ├── list │ │ │ │ └── JListItemModel.java │ │ │ ├── paragraph │ │ │ │ └── JParagraphModel.java │ │ │ ├── heading │ │ │ │ └── JHeadingModel.java │ │ │ └── table │ │ │ │ ├── JRowModel.java │ │ │ │ └── JColumnModel.java │ │ │ ├── visitor │ │ │ ├── JPdfXLinkVisitor.java │ │ │ ├── JPdfXListBoxVisitor.java │ │ │ ├── JPdfXInputFieldVisitor.java │ │ │ └── JPdfXPageCountElementVisitor.java │ │ │ ├── config │ │ │ ├── JCatalogConfig.java │ │ │ ├── JBorderConfig.java │ │ │ ├── JWaterRemarkConfig.java │ │ │ ├── JPageConfig.java │ │ │ ├── JDocConfig.java │ │ │ ├── JSecurityConfig.java │ │ │ ├── JFontConfig.java │ │ │ └── JHeaderConfig.java │ │ │ ├── custom │ │ │ └── JPdfXDocumentBuilder.java │ │ │ ├── anno │ │ │ ├── JPdfToolAnnotation.java │ │ │ └── JPdfOperation.java │ │ │ └── handler │ │ │ └── JStyleHandler.java │ └── resources │ │ └── image │ │ ├── cjzl.png │ │ ├── img.png │ │ ├── 信贷记录.jpg │ │ ├── 征信中心.png │ │ ├── 结束语.png │ │ ├── badtip.png │ │ ├── goodtip.png │ │ ├── icon-27.png │ │ ├── icon-29.png │ │ ├── qyzx.jpeg │ │ ├── 封底-02.png │ │ ├── 纸质报告-03.png │ │ ├── image-01.png │ │ ├── 成人纸质报告8.8-10.png │ │ └── dark-green-point.png │ └── test │ ├── resources │ └── sample │ │ ├── svg1.txt │ │ ├── svg2.txt │ │ ├── tree2.txt │ │ ├── tree1.txt │ │ ├── template.txt │ │ ├── div.txt │ │ ├── button.txt │ │ ├── checkbox.txt │ │ ├── span.txt │ │ ├── htmlPageBreak.txt │ │ ├── textArea.txt │ │ ├── comboxFiled.txt │ │ ├── lineSeperator.txt │ │ ├── tab.txt │ │ ├── areaBreak.txt │ │ ├── list.txt │ │ ├── paragraph.txt │ │ ├── table.txt │ │ ├── image.txt │ │ └── heading.txt │ └── java │ └── com │ └── github │ └── paohaijiao │ ├── sample │ └── JQuickPdfTest.java │ └── model │ └── TreemapNode.java ├── jquick-pdf-data └── src │ └── main │ └── java │ └── com │ └── github │ └── paohaijiao │ ├── code │ ├── JShowEffectOn.java │ ├── JLegendType.java │ ├── JX.java │ ├── JY.java │ ├── JTrigger.java │ ├── JRoseType.java │ ├── JBrushType.java │ ├── JOrient.java │ ├── JSort.java │ ├── JTimeLineType.java │ ├── JFontStyle.java │ ├── JSelectedMode.java │ ├── JAxisType.java │ ├── JDirection.java │ ├── JLinkType.java │ ├── JNameLocation.java │ ├── JControlPosition.java │ ├── JEffectType.java │ ├── JFontWeight.java │ ├── JPointerType.java │ ├── JCalculation.java │ ├── JLineType.java │ ├── JAlign.java │ ├── JBaseline.java │ ├── JMagic.java │ ├── JMarkType.java │ ├── JDataZoomType.java │ ├── JPolarType.java │ ├── JTool.java │ ├── JRoam.java │ ├── JCoordinateSystem.java │ ├── JLoadingEffect.java │ ├── JTriggerOn.java │ ├── JNodeClick.java │ ├── JPosition.java │ ├── JLayout.java │ ├── JGraphicType.java │ ├── JFilterMode.java │ ├── JVisualMapType.java │ ├── JSymbol.java │ ├── JColorMappingBy.java │ ├── JEasing.java │ └── JDataFilter.java │ ├── bubble │ ├── ScatterSeries.java │ ├── ValueAxis.java │ └── CategoryAxis.java │ ├── data │ ├── JSunburstData.java │ └── JPieData.java │ ├── JChart.java │ ├── JComponent.java │ ├── style │ ├── itemstyle │ │ ├── JNormal.java │ │ └── JEmphasis.java │ └── JCrossStyle.java │ ├── JLabel.java │ ├── JData.java │ ├── axis │ ├── JAxisLabel.java │ ├── JCategoryAxis.java │ └── JTimeAxis.java │ ├── series │ ├── JK.java │ ├── JEMap.java │ ├── JRadarSeries.java │ └── JGeoCoord.java │ ├── feature │ ├── JRestore.java │ ├── JSaveAsImage.java │ ├── JDataView.java │ └── JMark.java │ └── treemap │ └── TreeMapMapping.java └── change.md /jquick-pdf-font/src/test/resources/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pay/demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paohaijiao/jquick-pdf/HEAD/pay/demo.png -------------------------------------------------------------------------------- /pay/tngGo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paohaijiao/jquick-pdf/HEAD/pay/tngGo.jpg -------------------------------------------------------------------------------- /pay/alipay.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paohaijiao/jquick-pdf/HEAD/pay/alipay.jpg -------------------------------------------------------------------------------- /pay/paynow.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paohaijiao/jquick-pdf/HEAD/pay/paynow.jpg -------------------------------------------------------------------------------- /pay/wechat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paohaijiao/jquick-pdf/HEAD/pay/wechat.jpg -------------------------------------------------------------------------------- /jquick-pdf-css/src/main/java/com/github/paohaijiao/package-info.java: -------------------------------------------------------------------------------- 1 | package com.github.paohaijiao; -------------------------------------------------------------------------------- /jquick-pdf-svg/src/main/java/com/github/paohaijiao/package-info.java: -------------------------------------------------------------------------------- 1 | package com.github.paohaijiao; -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/package-info.java: -------------------------------------------------------------------------------- 1 | package com.github.paohaijiao; -------------------------------------------------------------------------------- /jquick-pdf-css/src/main/java/com/github/paohaijiao/css/package-info.java: -------------------------------------------------------------------------------- 1 | package com.github.paohaijiao.css; -------------------------------------------------------------------------------- /jquick-pdfx/src/test/resources/sample/svg1.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | ${svg} 4 | 5 | -------------------------------------------------------------------------------- /jquick-pdfx/src/test/resources/sample/svg2.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | &{svg} 4 | 5 | -------------------------------------------------------------------------------- /jquick-pdfx/src/test/resources/sample/tree2.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | tree 4 | 5 | -------------------------------------------------------------------------------- /jquick-pdf-css/src/main/java/com/github/paohaijiao/css/a/package-info.java: -------------------------------------------------------------------------------- 1 | package com.github.paohaijiao.css.a; -------------------------------------------------------------------------------- /jquick-pdf-css/src/main/java/com/github/paohaijiao/style/package-info.java: -------------------------------------------------------------------------------- 1 | package com.github.paohaijiao.style; -------------------------------------------------------------------------------- /jquick-pdfx/src/test/resources/sample/tree1.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | ${tree} 4 | 5 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/extension/package-info.java: -------------------------------------------------------------------------------- 1 | package com.github.paohaijiao.extension; -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/extension/svg/package-info.java: -------------------------------------------------------------------------------- 1 | package com.github.paohaijiao.extension.svg; -------------------------------------------------------------------------------- /jquick-pdfx/src/test/resources/sample/template.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /jquick-pdfx/src/test/resources/sample/div.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 |
'你好中国'
4 | 5 |
-------------------------------------------------------------------------------- /jquick-pdfx/src/test/resources/sample/button.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/resources/image/cjzl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paohaijiao/jquick-pdf/HEAD/jquick-pdfx/src/main/resources/image/cjzl.png -------------------------------------------------------------------------------- /jquick-pdfx/src/main/resources/image/img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paohaijiao/jquick-pdf/HEAD/jquick-pdfx/src/main/resources/image/img.png -------------------------------------------------------------------------------- /jquick-pdfx/src/main/resources/image/信贷记录.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paohaijiao/jquick-pdf/HEAD/jquick-pdfx/src/main/resources/image/信贷记录.jpg -------------------------------------------------------------------------------- /jquick-pdfx/src/main/resources/image/征信中心.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paohaijiao/jquick-pdf/HEAD/jquick-pdfx/src/main/resources/image/征信中心.png -------------------------------------------------------------------------------- /jquick-pdfx/src/main/resources/image/结束语.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paohaijiao/jquick-pdf/HEAD/jquick-pdfx/src/main/resources/image/结束语.png -------------------------------------------------------------------------------- /jquick-pdfx/src/main/resources/image/badtip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paohaijiao/jquick-pdf/HEAD/jquick-pdfx/src/main/resources/image/badtip.png -------------------------------------------------------------------------------- /jquick-pdfx/src/main/resources/image/goodtip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paohaijiao/jquick-pdf/HEAD/jquick-pdfx/src/main/resources/image/goodtip.png -------------------------------------------------------------------------------- /jquick-pdfx/src/main/resources/image/icon-27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paohaijiao/jquick-pdf/HEAD/jquick-pdfx/src/main/resources/image/icon-27.png -------------------------------------------------------------------------------- /jquick-pdfx/src/main/resources/image/icon-29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paohaijiao/jquick-pdf/HEAD/jquick-pdfx/src/main/resources/image/icon-29.png -------------------------------------------------------------------------------- /jquick-pdfx/src/main/resources/image/qyzx.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paohaijiao/jquick-pdf/HEAD/jquick-pdfx/src/main/resources/image/qyzx.jpeg -------------------------------------------------------------------------------- /jquick-pdfx/src/main/resources/image/封底-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paohaijiao/jquick-pdf/HEAD/jquick-pdfx/src/main/resources/image/封底-02.png -------------------------------------------------------------------------------- /jquick-pdfx/src/main/resources/image/纸质报告-03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paohaijiao/jquick-pdf/HEAD/jquick-pdfx/src/main/resources/image/纸质报告-03.png -------------------------------------------------------------------------------- /jquick-pdfx/src/test/resources/sample/checkbox.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | '提交' 4 | 5 | -------------------------------------------------------------------------------- /jquick-pdfx/src/test/resources/sample/span.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 |

4 | '你好中国' 5 |

6 | 7 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/resources/image/image-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paohaijiao/jquick-pdf/HEAD/jquick-pdfx/src/main/resources/image/image-01.png -------------------------------------------------------------------------------- /jquick-pdf-font/src/main/resources/fonts/simhei.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paohaijiao/jquick-pdf/HEAD/jquick-pdf-font/src/main/resources/fonts/simhei.ttf -------------------------------------------------------------------------------- /jquick-pdfx/src/main/resources/image/成人纸质报告8.8-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paohaijiao/jquick-pdf/HEAD/jquick-pdfx/src/main/resources/image/成人纸质报告8.8-10.png -------------------------------------------------------------------------------- /jquick-pdfx/src/test/resources/sample/htmlPageBreak.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | next_area 4 | 5 | -------------------------------------------------------------------------------- /jquick-pdfx/src/test/resources/sample/textArea.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 |

4 | 5 |

6 | 7 |
-------------------------------------------------------------------------------- /jquick-pdfx/src/test/resources/sample/comboxFiled.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | '提交' 4 | 5 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/resources/image/dark-green-point.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paohaijiao/jquick-pdf/HEAD/jquick-pdfx/src/main/resources/image/dark-green-point.png -------------------------------------------------------------------------------- /jquick-pdfx/src/test/resources/sample/lineSeperator.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 |

'上面的内容'

4 | 5 |

'下面的内容'

6 | 7 |
-------------------------------------------------------------------------------- /jquick-pdfx/src/test/resources/sample/tab.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 |

4 | /tab> 5 | /tab> 6 | /tab> 7 | '你好中国' 8 |

9 | 10 |
-------------------------------------------------------------------------------- /jquick-pdfx/src/test/resources/sample/areaBreak.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 |

4 | '你好中国' 5 |

6 | 7 |

8 | '你好中国' 9 |

10 | 11 |
-------------------------------------------------------------------------------- /jquick-pdfx/src/test/resources/sample/list.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
  • '选项1'
  • 5 |
  • '选项2'
  • 6 |
  • '选项3'
  • 7 |
  • '选项4'
  • 8 |
  • '选项5'
  • 9 |
    10 | 11 |
    -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JShowEffectOn.java: -------------------------------------------------------------------------------- 1 | package com.github.paohaijiao.code; 2 | 3 | /** 4 | * 何时显示特效 5 | * 6 | * @author martin 7 | */ 8 | public enum JShowEffectOn { 9 | render, //绘制完成后显示特效 10 | emphasis //高亮(hover)的时候显示特效 11 | } 12 | -------------------------------------------------------------------------------- /change.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | 所有代码变更记录将在此文档中维护,遵循 [语义化版本 2.0.0](https://semver.org/) 规范。 4 | 5 | ## [1.5.1] - 2025-11-5 6 | 7 | ### 新增功能 8 | 9 | - 优化 `旭日图` 10 | - 实现 `Treemap` 11 | - 实现 `Bubble chart` 12 | 13 | ## [1.5.3] - 2025-11-16 14 | 15 | ### 新增功能 16 | 17 | - 新增 `日历活动统计` 18 | - 新增 `日历Lunar` 19 | - 新增 `Funnel` 20 | - 新增 `CorrectionMatrix` 21 | - 新增 `Gantt` 22 | - 新增 `Gauge` -------------------------------------------------------------------------------- /jquick-pdfx/src/test/resources/sample/paragraph.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 |

    4 | '这是 is Paragraph......................................................................' 5 |

    6 |

    7 | 8 | 9 | 10 | 11 | 12 | 13 | '这种 is Paragraph1......................................................................' 14 |

    15 | 16 |
    -------------------------------------------------------------------------------- /jquick-pdfx/src/test/resources/sample/table.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
    '产品ID''产品名称''价格元'
    '1000''泡海椒''华为M7'
    15 | 16 |
    -------------------------------------------------------------------------------- /jquick-pdfx/src/test/resources/sample/image.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/bubble/ScatterSeries.java: -------------------------------------------------------------------------------- 1 | package com.github.paohaijiao.bubble; 2 | 3 | import com.github.paohaijiao.code.JSeriesType; 4 | import com.github.paohaijiao.series.JSeries; 5 | 6 | public class ScatterSeries extends JSeries { 7 | 8 | public ScatterSeries() { 9 | super(); 10 | this.type(JSeriesType.scatter); 11 | } 12 | 13 | public ScatterSeries(String name) { 14 | super(name); 15 | this.type(JSeriesType.scatter); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/bubble/ValueAxis.java: -------------------------------------------------------------------------------- 1 | package com.github.paohaijiao.bubble; 2 | 3 | import com.github.paohaijiao.axis.JAxis; 4 | import com.github.paohaijiao.code.JAxisType; 5 | 6 | /** 7 | * 数值轴实现 8 | */ 9 | public class ValueAxis extends JAxis { 10 | 11 | public ValueAxis() { 12 | super(); 13 | this.type(JAxisType.value); 14 | } 15 | 16 | public ValueAxis(String name) { 17 | super(); 18 | this.type(JAxisType.value); 19 | this.name(name); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/bubble/CategoryAxis.java: -------------------------------------------------------------------------------- 1 | package com.github.paohaijiao.bubble; 2 | 3 | 4 | import com.github.paohaijiao.axis.JAxis; 5 | import com.github.paohaijiao.code.JAxisType; 6 | 7 | /** 8 | * 类目轴实现 9 | */ 10 | public class CategoryAxis extends JAxis { 11 | 12 | public CategoryAxis() { 13 | super(); 14 | this.type(JAxisType.category); 15 | } 16 | 17 | public CategoryAxis(String name) { 18 | super(); 19 | this.type(JAxisType.category); 20 | this.name(name); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/data/JSunburstData.java: -------------------------------------------------------------------------------- 1 | package com.github.paohaijiao.data; 2 | 3 | import lombok.Data; 4 | 5 | import java.util.ArrayList; 6 | import java.util.List; 7 | 8 | @Data 9 | public class JSunburstData { 10 | 11 | String name; 12 | 13 | double value; // 相对于父节点的比例 (0-1) 14 | 15 | List children; 16 | 17 | public JSunburstData(String name, double value) { 18 | this.name = name; 19 | this.value = value; 20 | this.children = new ArrayList<>(); 21 | } 22 | 23 | public void addChild(JSunburstData child) { 24 | this.children.add(child); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /jquick-pdfx/src/test/resources/sample/heading.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 |

    4 | '这是 is h1......................................................................' 5 |

    6 |

    7 | '这是 is h2......................................................................' 8 |

    9 |

    10 | '这是 is h3......................................................................' 11 |

    12 |

    13 | '这是 is h4......................................................................' 14 |

    15 |
    16 | '这是 is h5......................................................................' 17 |
    18 |
    19 | '这是 is h6......................................................................' 20 |
    21 | 22 |
    -------------------------------------------------------------------------------- /jquick-pdfx/src/test/java/com/github/paohaijiao/sample/JQuickPdfTest.java: -------------------------------------------------------------------------------- 1 | package com.github.paohaijiao.sample; 2 | 3 | import com.github.paohaijiao.adaptor.JAdaptor; 4 | import com.github.paohaijiao.executor.JQuickPdfXExecutor; 5 | import com.github.paohaijiao.resouce.JReader; 6 | import com.github.paohaijiao.resouce.impl.JReSourceFileReader; 7 | import org.junit.Test; 8 | 9 | import java.io.IOException; 10 | 11 | public class JQuickPdfTest { 12 | 13 | @Test 14 | public void file() throws IOException { 15 | 16 | JReader fileReader = new JReSourceFileReader("rule.txt"); 17 | JAdaptor context = new JAdaptor(fileReader); 18 | JQuickPdfXExecutor executor = new JQuickPdfXExecutor(); 19 | executor.execute(context.getRuleContent()); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /jquick-pdfx/src/test/java/com/github/paohaijiao/model/TreemapNode.java: -------------------------------------------------------------------------------- 1 | package com.github.paohaijiao.model; 2 | 3 | import lombok.Data; 4 | 5 | import java.awt.*; 6 | import java.awt.geom.Rectangle2D; 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | @Data 11 | public class TreemapNode { 12 | String name; 13 | double value; 14 | List children; 15 | Color color; 16 | Rectangle2D.Double rect; // 添加rect属性 17 | 18 | public TreemapNode(String name, double value) { 19 | this.name = name; 20 | this.value = value; 21 | this.children = new ArrayList<>(); 22 | } 23 | 24 | public void addChild(TreemapNode child) { 25 | children.add(child); 26 | } 27 | 28 | public boolean hasChildren() { 29 | return !children.isEmpty(); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/enums/JFontType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.enums; 17 | 18 | public enum JFontType { 19 | SYSTEM, FILE, RESOURCE, CUSTOM 20 | } 21 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/JChart.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao; 18 | 19 | /** 20 | * 图类接口 21 | * 22 | * @author martin 23 | */ 24 | public interface JChart { 25 | } 26 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JLegendType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.code; 17 | 18 | /** 19 | * 图例类型 20 | */ 21 | public enum JLegendType { 22 | plain, scroll 23 | } 24 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JX.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * @author martin 21 | */ 22 | public enum JX { 23 | center, left, right 24 | } 25 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JY.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * @author martin 21 | */ 22 | public enum JY { 23 | center, top, bottom 24 | } 25 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/JComponent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao; 18 | 19 | /** 20 | * 组件接口 21 | * 22 | * @author martin 23 | */ 24 | public interface JComponent { 25 | } 26 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JTrigger.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * @author martin 21 | */ 22 | public enum JTrigger { 23 | item, axis 24 | } 25 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JRoseType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * @author : martin 21 | */ 22 | public enum JRoseType { 23 | radius, area 24 | } 25 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JBrushType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * @author martin 21 | */ 22 | public enum JBrushType { 23 | both, stroke, fill 24 | } 25 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JOrient.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * @author martin 21 | */ 22 | public enum JOrient { 23 | horizontal, vertical 24 | } 25 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JSort.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * @author martin 21 | */ 22 | public enum JSort { 23 | none, ascending, descending 24 | } 25 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JTimeLineType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * @author martin 21 | */ 22 | public enum JTimeLineType { 23 | time, number 24 | } 25 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JFontStyle.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * @author martin 21 | */ 22 | public enum JFontStyle { 23 | normal, italic, oblique 24 | } 25 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JSelectedMode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * @author martin 21 | */ 22 | public enum JSelectedMode { 23 | single, multiple 24 | } 25 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JAxisType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * @author martin 21 | */ 22 | public enum JAxisType { 23 | category, value, time, log 24 | } 25 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JDirection.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * 方向反转 21 | * 22 | * @author martin 23 | */ 24 | public enum JDirection { 25 | inverse 26 | } 27 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JLinkType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * 线条类型,可选为:'curve'(曲线) | 'line'(直线) 21 | */ 22 | public enum JLinkType { 23 | curve, line 24 | } 25 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JNameLocation.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * @author martin 21 | */ 22 | public enum JNameLocation { 23 | start, middle, end 24 | } 25 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JControlPosition.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * @author martin 21 | */ 22 | public enum JControlPosition { 23 | left, right, none 24 | } 25 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JEffectType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.code; 17 | 18 | /** 19 | * 特效类型 20 | * 21 | * @author martin 22 | */ 23 | public enum JEffectType { 24 | ripple //涟漪特效 25 | } 26 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JFontWeight.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * @author martin 21 | */ 22 | public enum JFontWeight { 23 | normal, bold, bolder, lighter 24 | } 25 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JPointerType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * @author martin 21 | */ 22 | public enum JPointerType { 23 | line, cross, shadow, none 24 | } 25 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/style/itemstyle/JNormal.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.style.itemstyle; 18 | 19 | /** 20 | * @author martin 21 | */ 22 | public class JNormal extends JStyle { 23 | } 24 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JCalculation.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * 计算方式 21 | * 22 | * @author martin 23 | */ 24 | public enum JCalculation { 25 | sum, average 26 | } 27 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JLineType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * @author martin 21 | */ 22 | public enum JLineType { 23 | solid, dotted, dashed, broken, curve 24 | } 25 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/style/JCrossStyle.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.style; 18 | 19 | /** 20 | * 坐标轴指示器 21 | * 22 | * @author martin 23 | */ 24 | public class JCrossStyle extends JLineStyle { 25 | } 26 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/style/itemstyle/JEmphasis.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.style.itemstyle; 18 | 19 | /** 20 | * @author martin 21 | */ 22 | public class JEmphasis extends JStyle { 23 | } 24 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JAlign.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.code; 17 | 18 | /** 19 | * 图例标记和文本的对齐 20 | * 21 | * @author martin 22 | */ 23 | public enum JAlign { 24 | auto, left, right, top, bottom 25 | } 26 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JBaseline.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * 垂直对齐方式 21 | * 22 | * @author martin 23 | */ 24 | public enum JBaseline { 25 | top, bottom, middle 26 | } 27 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JMagic.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * @author martin 21 | */ 22 | public enum JMagic { 23 | line, bar, stack, tiled, force, chord, pie, funnel 24 | } 25 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/JLabel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao; 18 | 19 | /** 20 | * Description: Label 21 | * 22 | * @author martin 23 | */ 24 | public class JLabel extends JAbstractLabel { 25 | 26 | } 27 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JMarkType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * Description: 标记默认方法 21 | * 22 | * @author martin 23 | */ 24 | public enum JMarkType { 25 | min, max, average 26 | } 27 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JDataZoomType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.code; 17 | 18 | /** 19 | * @author martin 20 | */ 21 | public enum JDataZoomType { 22 | inside,//所谓『内置』,即内置在坐标系中 23 | slider,//滑动条型数据区域缩放组件 24 | } 25 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JPolarType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * 极坐标的形状,'polygon'|'circle' 多边形|圆形 21 | * 22 | * @author martin 23 | */ 24 | public enum JPolarType { 25 | polygon, circle 26 | } 27 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JTool.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * 常用工具 21 | * 22 | * @author martin 23 | */ 24 | public enum JTool { 25 | dataView, dataZoom, magicType, mark, restore, saveAsImage 26 | } 27 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JRoam.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * 是否开启滚轮缩放和拖拽漫游,默认为false(关闭),其他有效输入为true(开启),'scale'(仅开启滚轮缩放),'move'(仅开启拖拽漫游) 21 | */ 22 | public enum JRoam { 23 | scale, move, zoom, pan 24 | } 25 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JCoordinateSystem.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.code; 17 | 18 | /** 19 | * 坐标系 20 | * 21 | * @author martin 22 | * @since 2016-02-28 10:20 23 | */ 24 | public enum JCoordinateSystem { 25 | cartesian2d, polar, geo 26 | } 27 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JLoadingEffect.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * loading效果 21 | * 22 | * @author martin 23 | */ 24 | public enum JLoadingEffect { 25 | spin, bar, ring, whirling, dynamicLine, bubble 26 | } 27 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JTriggerOn.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.code; 17 | 18 | /** 19 | * 提示框触发的条件 20 | * 21 | * @author martin 22 | * @since 3.0 23 | */ 24 | public enum JTriggerOn { 25 | mousemove,//鼠标移动时触发 26 | click,//鼠标点击时触发 27 | } 28 | -------------------------------------------------------------------------------- /jquick-pdf-svg/src/main/java/com/github/paohaijiao/provider/JSvgProvider.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.provider; 17 | 18 | 19 | import com.github.paohaijiao.enums.JChartType; 20 | 21 | public interface JSvgProvider { 22 | 23 | public void drawSvg(JChartType type, T data); 24 | } 25 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JNodeClick.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.code; 17 | 18 | /** 19 | * 点击节点 20 | * 21 | * @author martin 22 | */ 23 | public enum JNodeClick { 24 | zoomToNode, //点击节点后缩放到节点。 25 | link, //如果节点数据中有 link 点击节点后会进行超链接跳转。 26 | } 27 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JPosition.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * Description: Position 21 | * 22 | * @author martin 23 | */ 24 | public enum JPosition { 25 | outside, outer, inside, left, right, top, bottom, center 26 | } 27 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JLayout.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.code; 17 | 18 | /** 19 | * 图的布局 - graph 20 | * 21 | * @author martin 22 | */ 23 | public enum JLayout { 24 | none,//不采用任何布局,使用节点中提供的 x, y 作为节点的位置 25 | circular,//采用环形布局 26 | force,//采用力引导布局 27 | } 28 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/sample/ReportBeanBuilder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.sample; 17 | 18 | /** 19 | * packageName com.github.paohaijiao.sample 20 | * 21 | * @author Martin 22 | * @version 1.0.0 23 | * @since 2025/7/13 24 | */ 25 | public class ReportBeanBuilder { 26 | } 27 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/JData.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao; 18 | 19 | /** 20 | * @author martin 21 | */ 22 | public interface JData { 23 | /** 24 | * 添加元素 25 | * 26 | * @param values 27 | * @return 28 | */ 29 | T data(Object... values); 30 | } 31 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/axis/JAxisLabel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.axis; 18 | 19 | import com.github.paohaijiao.JAbstractLabel; 20 | 21 | /** 22 | * 坐标轴专用,和Label没有区别 23 | * 24 | * @author martin 25 | */ 26 | public class JAxisLabel extends JAbstractLabel { 27 | 28 | } 29 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JGraphicType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.code; 17 | 18 | /** 19 | * 图形元素类型 20 | * 21 | * @author martin 22 | */ 23 | public enum JGraphicType { 24 | 25 | image, text, circle, sector, ring, polygon, polyline, rect, line, bezierCurve, arc, group 26 | 27 | } 28 | -------------------------------------------------------------------------------- /jquick-pdf-font/src/main/java/com/github/paohaijiao/font/JFontProvider.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.font; 17 | 18 | import com.itextpdf.kernel.font.PdfFont; 19 | 20 | public interface JFontProvider { 21 | /** 22 | * get Font 23 | * 24 | * @return 25 | */ 26 | PdfFont getFont(); 27 | 28 | } 29 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JFilterMode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.code; 17 | 18 | /** 19 | * 数据过滤模式 20 | * 21 | * @author martin 22 | */ 23 | public enum JFilterMode { 24 | filter,//数据窗口外的数据,被 过滤掉。这个配置项是最常用的 25 | empty,//数据窗口外的数据,被 设置为空。 与『过滤掉』的区别是,『设置为空』的数据当空数据展示,也就是说还会占有位置 26 | } 27 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/series/JK.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.series; 18 | 19 | /** 20 | * Description: K 21 | * 22 | * @author martin 23 | */ 24 | public class JK extends JCandlestick { 25 | public JK() { 26 | } 27 | 28 | public JK(String name) { 29 | super(name); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /jquick-pdf-svg/src/main/java/com/github/paohaijiao/model/JIndicator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.model; 17 | 18 | 19 | import lombok.AllArgsConstructor; 20 | import lombok.Data; 21 | 22 | /** 23 | * 24 | */ 25 | @Data 26 | @AllArgsConstructor 27 | public class JIndicator { 28 | private String name; 29 | private double maxValue; 30 | 31 | } 32 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/feature/JRestore.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.feature; 18 | 19 | /** 20 | * @author martin 21 | */ 22 | public class JRestore extends JFeature { 23 | /** 24 | * 构造函数 25 | */ 26 | public JRestore() { 27 | this.show(true); 28 | this.title("还原"); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/series/JEMap.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.series; 17 | 18 | /** 19 | * 和Map完全相同,只是为了避免和java.util.Map重名 20 | * 21 | * @author martin 22 | */ 23 | public class JEMap extends JMap { 24 | public JEMap() { 25 | } 26 | 27 | public JEMap(String name) { 28 | super(name); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/advance/JPdfXHtmlProvider.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.advance; 17 | 18 | /** 19 | * packageName com.github.paohaijiao.advance 20 | * 21 | * @author Martin 22 | * @version 1.0.0 23 | * @className JPdfXHtmlProvider 24 | * @date 2025/6/22 25 | * @description 26 | */ 27 | public class JPdfXHtmlProvider { 28 | } 29 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JFontRenderer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | /** 19 | * packageName com.github.paohaijiao.render.impl 20 | * 21 | * @author Martin 22 | * @version 1.0.0 23 | * @className JFontRenderer 24 | * @date 2025/6/29 25 | * @description 26 | */ 27 | public class JFontRenderer { 28 | } 29 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JVisualMapType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.code; 17 | 18 | /** 19 | * 视觉元素 20 | * 21 | * @author martin 22 | */ 23 | public enum JVisualMapType { 24 | symbol,//图形类别 25 | symbolSize,//图形大小 26 | color,//颜色 27 | colorAlpha,//颜色透明度、 28 | colorLightness,//颜色明暗度 29 | colorSaturation,//颜色饱和度、 30 | colorHue//色调 31 | } 32 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/model/JBorderModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.model; 17 | 18 | import com.github.paohaijiao.enums.JBorder; 19 | import com.itextpdf.kernel.colors.Color; 20 | import lombok.Data; 21 | 22 | @Data 23 | public class JBorderModel { 24 | 25 | 26 | private JBorder border; 27 | 28 | private Float width; 29 | 30 | private Color color; 31 | } 32 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/JStyleRenderer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | public interface JStyleRenderer { 23 | 24 | void applyStyles(Document doc, IElement element, JStyleAttributes styles); 25 | } 26 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/model/JMarginModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.model; 17 | 18 | import com.itextpdf.layout.properties.UnitValue; 19 | import lombok.Data; 20 | 21 | @Data 22 | public class JMarginModel { 23 | 24 | private UnitValue first; 25 | 26 | private UnitValue second; 27 | 28 | private UnitValue third; 29 | 30 | private UnitValue fourth; 31 | } 32 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/visitor/JPdfXLinkVisitor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.visitor; 17 | 18 | /** 19 | * packageName com.paohaijiao.javelin.visitor 20 | * 21 | * @author Martin 22 | * @version 1.0.0 23 | * @className JPdfXDivVisitor 24 | * @date 2025/6/15 25 | * @description 26 | */ 27 | public class JPdfXLinkVisitor extends JPdfXLineSeparaterVisitor { 28 | 29 | 30 | } 31 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/visitor/JPdfXListBoxVisitor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.visitor; 17 | 18 | /** 19 | * packageName com.paohaijiao.javelin.visitor 20 | * 21 | * @author Martin 22 | * @version 1.0.0 23 | * @className JPdfXDivVisitor 24 | * @date 2025/6/15 25 | * @description 26 | */ 27 | public class JPdfXListBoxVisitor extends JPdfXLinkVisitor { 28 | 29 | 30 | } 31 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/visitor/JPdfXInputFieldVisitor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.visitor; 17 | 18 | 19 | /** 20 | * packageName com.paohaijiao.javelin.visitor 21 | * 22 | * @author Martin 23 | * @version 1.0.0 24 | * @className JPdfXDivVisitor 25 | * @date 2025/6/15 26 | * @description 27 | */ 28 | public class JPdfXInputFieldVisitor extends JPdfXHtmlPageBreakVisitor { 29 | 30 | } 31 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/sample/CatalogType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.sample; 17 | 18 | public enum CatalogType { 19 | 20 | /** 21 | * 目录类别 1-需要注意 2-正常项目 22 | */ 23 | ATTENTION(1), NORMAL(2); 24 | private Integer val; 25 | 26 | CatalogType(Integer val) { 27 | this.val = val; 28 | } 29 | 30 | public Integer val() { 31 | return val; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/visitor/JPdfXPageCountElementVisitor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.visitor; 17 | 18 | 19 | /** 20 | * packageName com.paohaijiao.javelin.visitor 21 | * 22 | * @author Martin 23 | * @version 1.0.0 24 | * @className JPdfXDivVisitor 25 | * @date 2025/6/15 26 | * @description 27 | */ 28 | public class JPdfXPageCountElementVisitor extends JPdfXListBoxVisitor { 29 | 30 | 31 | } 32 | -------------------------------------------------------------------------------- /jquick-pdf-css/src/main/java/com/github/paohaijiao/model/JStyleAttributes.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.model; 17 | 18 | 19 | import java.util.HashMap; 20 | 21 | /** 22 | * packageName com.github.paohaijiao.model 23 | * 24 | * @author Martin 25 | * @version 1.0.0 26 | * @className HtmlAttributes 27 | * @date 2025/6/22 28 | * @description 29 | */ 30 | public class JStyleAttributes extends HashMap { 31 | 32 | } 33 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/config/JCatalogConfig.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.config; 17 | 18 | import lombok.Data; 19 | 20 | /** 21 | * packageName com.github.paohaijiao.config 22 | * 23 | * @author Martin 24 | * @version 1.0.0 25 | * @since 2025/7/20 26 | */ 27 | @Data 28 | public class JCatalogConfig { 29 | 30 | private boolean enabled = true; 31 | 32 | private Integer startPage = 1; 33 | 34 | } 35 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/axis/JCategoryAxis.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.axis; 18 | 19 | import com.github.paohaijiao.code.JAxisType; 20 | 21 | /** 22 | * 类目轴 23 | * 24 | * @author martin 25 | */ 26 | public class JCategoryAxis extends JAxis { 27 | 28 | /** 29 | * 构造函数 30 | */ 31 | public JCategoryAxis() { 32 | this.type(JAxisType.category); 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JSymbol.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * @author martin 21 | */ 22 | public enum JSymbol { 23 | none, auto, 24 | circle, rect, roundRect, rectangle, triangle, diamond, 25 | emptyCircle, emptyRectangle, emptyTriangle, emptyDiamond, 26 | heart, droplet, pin, arrow, star, 27 | emptyheart, emptydroplet, emptypin, emptyarrow, emptystar, 28 | } 29 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/feature/JSaveAsImage.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.feature; 18 | 19 | /** 20 | * @author martin 21 | */ 22 | public class JSaveAsImage extends JFeature { 23 | /** 24 | * 构造函数 25 | */ 26 | public JSaveAsImage() { 27 | this.show(true); 28 | this.title("保存为图片"); 29 | this.type("png"); 30 | this.lang(new String[]{"点击保存"}); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/feature/JDataView.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.feature; 18 | 19 | /** 20 | * @author martin 21 | */ 22 | public class JDataView extends JFeature { 23 | /** 24 | * 构造函数 25 | */ 26 | public JDataView() { 27 | this.show(true); 28 | this.title("数据视图"); 29 | this.readOnly(false); 30 | this.lang(new String[]{"数据视图", "关闭", "刷新"}); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/model/style/JStyleAlignModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.model.style; 17 | 18 | import lombok.Data; 19 | 20 | /** 21 | * packageName com.paohaijiao.javelin.model.style 22 | * 23 | * @author Martin 24 | * @version 1.0.0 25 | * @className JStyleDataModel 26 | * @date 2025/6/14 27 | * @description 28 | */ 29 | @Data 30 | public class JStyleAlignModel { 31 | 32 | private String direction; 33 | } 34 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/axis/JTimeAxis.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.axis; 18 | 19 | import com.github.paohaijiao.code.JAxisType; 20 | 21 | /** 22 | * 时间型坐标轴用法同数值型,只是目标处理和格式化显示时会自动转变为时间,并且随着时间跨度的不同自动切换需要显示的时间粒度 23 | * 24 | * @author martin 25 | */ 26 | public class JTimeAxis extends JValueAxis { 27 | /** 28 | * 构造函数 29 | */ 30 | public JTimeAxis() { 31 | this.type(JAxisType.time); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/sample/ReportConstant.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.sample; 17 | 18 | /** 19 | * @author: laoliangliang 20 | * @description: 21 | * @create: 2020/5/22 10:55 22 | **/ 23 | public class ReportConstant { 24 | 25 | public final static String[] SEGMENETS = {"0", "0.5", "0.8", "1.2", "1.8", "3.0"}; 26 | public final static String FORBIDDE = "forbidPage"; 27 | public final static String CATALOG_SIZE = "catalogSize"; 28 | } 29 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/sample/ReportExtraParam.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.sample; 17 | 18 | import lombok.Data; 19 | 20 | /** 21 | * packageName com.github.paohaijiao.sample 22 | * 23 | * @author Martin 24 | * @version 1.0.0 25 | * @since 2025/7/13 26 | */ 27 | @Data 28 | public class ReportExtraParam { 29 | private CatalogType type; 30 | 31 | public ReportExtraParam(CatalogType type) { 32 | this.type = type; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /jquick-pdf-css/src/main/java/com/github/paohaijiao/model/css/JCSSPropertiesCoreModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.model.css; 17 | 18 | import com.github.paohaijiao.css.z.model.JCSSPropertiesZModel; 19 | 20 | /** 21 | * packageName com.github.paohaijiao.model.css 22 | * 23 | * @author Martin 24 | * @version 1.0.0 25 | * @className CSSPropertiesBModel 26 | * @date 2025/6/29 27 | * @description 28 | */ 29 | public class JCSSPropertiesCoreModel extends JCSSPropertiesZModel { 30 | } 31 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/custom/JPdfXDocumentBuilder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.custom; 17 | 18 | import com.itextpdf.layout.Document; 19 | 20 | /** 21 | * packageName com.github.paohaijiao.custom 22 | * 23 | * @author Martin 24 | * @version 1.0.0 25 | * @className JPdfXDocumentBuilder 26 | * @date 2025/6/22 27 | * @description 28 | */ 29 | public abstract class JPdfXDocumentBuilder { 30 | 31 | 32 | public abstract Document buildDocument(); 33 | 34 | } 35 | -------------------------------------------------------------------------------- /jquick-pdf-css/src/main/java/com/github/paohaijiao/model/provider/JCSSPropertiesProvider.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.model.provider; 17 | 18 | import com.github.paohaijiao.model.css.JCSSPropertiesCoreModel; 19 | import com.itextpdf.layout.element.BlockElement; 20 | 21 | import java.net.MalformedURLException; 22 | 23 | public interface JCSSPropertiesProvider { 24 | 25 | public void applyCssProperties(BlockElement element, JCSSPropertiesCoreModel cssProperties) throws MalformedURLException; 26 | } 27 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/model/JNumberUnitModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.model; 17 | 18 | import com.github.paohaijiao.enums.JUnit; 19 | import lombok.Data; 20 | 21 | /** 22 | * packageName com.paohaijiao.javelin.model 23 | * 24 | * @author Martin 25 | * @version 1.0.0 26 | * @className JNumberUnitModel 27 | * @date 2025/6/14 28 | * @description 29 | */ 30 | @Data 31 | public class JNumberUnitModel { 32 | private Integer number; 33 | private JUnit unit; 34 | 35 | } 36 | -------------------------------------------------------------------------------- /jquick-pdf-svg/src/main/java/com/github/paohaijiao/data/JGraphContainer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.data; 17 | 18 | import com.github.paohaijiao.JOption; 19 | import com.github.paohaijiao.enums.JChartType; 20 | import lombok.Data; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.data 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @since 2025/7/20 28 | */ 29 | @Data 30 | 31 | public class JGraphContainer { 32 | 33 | private JChartType type; 34 | 35 | private JOption option; 36 | } 37 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/model/JHtmlRenderModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.model; 17 | 18 | import com.itextpdf.layout.element.IElement; 19 | import lombok.Data; 20 | 21 | import java.util.ArrayList; 22 | import java.util.List; 23 | 24 | /** 25 | * packageName com.github.paohaijiao.model 26 | * 27 | * @author Martin 28 | * @version 1.0.0 29 | * @since 2025/7/19 30 | */ 31 | @Data 32 | public class JHtmlRenderModel { 33 | 34 | List list = new ArrayList(); 35 | } 36 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/anno/JPdfToolAnnotation.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.anno; 17 | 18 | import java.lang.annotation.ElementType; 19 | import java.lang.annotation.Retention; 20 | import java.lang.annotation.RetentionPolicy; 21 | import java.lang.annotation.Target; 22 | 23 | @Target(ElementType.TYPE) 24 | @Retention(RetentionPolicy.RUNTIME) 25 | public @interface JPdfToolAnnotation { 26 | 27 | String name() default ""; 28 | 29 | String description() default ""; 30 | 31 | String version() default "1.0"; 32 | 33 | } 34 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/model/list/JListItemModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.model.list; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import lombok.Data; 20 | 21 | /** 22 | * packageName com.paohaijiao.javelin.model.paragraph 23 | * 24 | * @author Martin 25 | * @version 1.0.0 26 | * @className JParagraphModel 27 | * @date 2025/6/14 28 | * @description 29 | */ 30 | @Data 31 | public class JListItemModel { 32 | 33 | private Object elementValue; 34 | 35 | private JStyleAttributes style; 36 | 37 | } 38 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/model/paragraph/JParagraphModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.model.paragraph; 17 | 18 | import com.github.paohaijiao.model.style.JStyleModel; 19 | import lombok.Data; 20 | 21 | /** 22 | * packageName com.paohaijiao.javelin.model.paragraph 23 | * 24 | * @author Martin 25 | * @version 1.0.0 26 | * @className JParagraphModel 27 | * @date 2025/6/14 28 | * @description 29 | */ 30 | @Data 31 | public class JParagraphModel { 32 | 33 | private String text; 34 | 35 | private JStyleModel style; 36 | 37 | } 38 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JColorMappingBy.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.code; 17 | 18 | /** 19 | * 表示同一层级节点,在颜色列表中(参见 color 属性)选择时,按照什么来选择 20 | * 21 | * @author martin 22 | */ 23 | public enum JColorMappingBy { 24 | value,//将节点的值(即 series-treemap.data.value)映射到颜色列表中。这样得到的颜色,反应了节点值的大小。 可以使用 visualDimension 属性来设置,用 data 中那个纬度的值来映射 25 | index,//将节点的 index(序号)映射到颜色列表中。即同一层级中,第一个节点取颜色列表中第一个颜色,第二个节点取第二个。这样得到的颜色,便于区分相邻节点。 26 | id //将节点的 id(即 series-treemap.data.id)映射到颜色列表中。id 是用户指定的,这样能够使得,在treemap 通过 setOption 变化数值时,同一 id 映射到同一颜色,保持一致性。 27 | } 28 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/model/heading/JHeadingModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.model.heading; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import lombok.Data; 20 | 21 | /** 22 | * packageName com.paohaijiao.javelin.model.paragraph 23 | * 24 | * @author Martin 25 | * @version 1.0.0 26 | * @className JParagraphModel 27 | * @date 2025/6/14 28 | * @description 29 | */ 30 | @Data 31 | public class JHeadingModel { 32 | 33 | private String text; 34 | 35 | private Integer level; 36 | 37 | private JStyleAttributes style; 38 | 39 | } 40 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/model/style/JStyleSpacingModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.model.style; 17 | 18 | import com.github.paohaijiao.model.JNumberUnitModel; 19 | import lombok.Data; 20 | 21 | /** 22 | * packageName com.paohaijiao.javelin.model.style 23 | * 24 | * @author Martin 25 | * @version 1.0.0 26 | * @className JStyleDataModel 27 | * @date 2025/6/14 28 | * @description 29 | */ 30 | @Data 31 | public class JStyleSpacingModel { 32 | 33 | private String type; 34 | private JNumberUnitModel leftSpacing; 35 | private JNumberUnitModel rightSpacing; 36 | } 37 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/sample/CataLog.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.sample; 17 | 18 | import lombok.AllArgsConstructor; 19 | import lombok.Data; 20 | 21 | /** 22 | * packageName com.github.paohaijiao.sample 23 | * 24 | * @author Martin 25 | * @version 1.0.0 26 | * @since 2025/7/12 27 | */ 28 | @Data 29 | @AllArgsConstructor 30 | public class CataLog { 31 | private Integer index; 32 | private String categoryName; 33 | private String name; 34 | private String label; 35 | private Integer pageNumber; 36 | private ReportExtraParam extraParam; 37 | } 38 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/anno/JPdfOperation.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.anno; 17 | 18 | import java.lang.annotation.ElementType; 19 | import java.lang.annotation.Retention; 20 | import java.lang.annotation.RetentionPolicy; 21 | import java.lang.annotation.Target; 22 | 23 | @Target(ElementType.METHOD) 24 | @Retention(RetentionPolicy.RUNTIME) 25 | public @interface JPdfOperation { 26 | 27 | String name() default ""; 28 | 29 | String description() default ""; 30 | 31 | boolean requiresSource() default false; 32 | 33 | boolean producesResult() default true; 34 | } 35 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/model/table/JRowModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.model.table; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import lombok.Data; 20 | 21 | import java.util.List; 22 | 23 | /** 24 | * packageName com.paohaijiao.javelin.model.paragraph 25 | * 26 | * @author Martin 27 | * @version 1.0.0 28 | * @className JParagraphModel 29 | * @date 2025/6/14 30 | * @description 31 | */ 32 | @Data 33 | public class JRowModel { 34 | 35 | 36 | private JStyleAttributes style; 37 | 38 | private List columnList; 39 | 40 | } 41 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/model/table/JColumnModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.model.table; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import lombok.Data; 20 | 21 | import java.util.List; 22 | 23 | /** 24 | * packageName com.paohaijiao.javelin.model.paragraph 25 | * 26 | * @author Martin 27 | * @version 1.0.0 28 | * @className JParagraphModel 29 | * @date 2025/6/14 30 | * @description 31 | */ 32 | @Data 33 | public class JColumnModel { 34 | 35 | private JStyleAttributes style; 36 | 37 | private String type; 38 | 39 | private List object; 40 | 41 | } 42 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/config/JBorderConfig.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.config; 17 | 18 | import com.github.paohaijiao.enums.JBorder; 19 | import com.itextpdf.kernel.colors.Color; 20 | import com.itextpdf.kernel.colors.DeviceRgb; 21 | import lombok.Data; 22 | 23 | /** 24 | * packageName com.github.paohaijiao.config 25 | * 26 | * @author Martin 27 | * @version 1.0.0 28 | * @since 2025/7/20 29 | */ 30 | @Data 31 | public class JBorderConfig { 32 | 33 | private float width = 0.5f; 34 | 35 | private Color color = new DeviceRgb(200, 200, 200); 36 | 37 | private JBorder type = JBorder.solid; 38 | 39 | } 40 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JCellRender.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @since 2025/7/17 28 | */ 29 | public class JCellRender extends JBaseRenderer { 30 | 31 | @Override 32 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 33 | super.applyBlockElement(doc, element, styles); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JFormRender.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @since 2025/7/17 28 | */ 29 | public class JFormRender extends JBaseRenderer { 30 | 31 | @Override 32 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 33 | super.applyElementProperty(doc, element, styles); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JRadioRender.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @since 2025/7/17 28 | */ 29 | public class JRadioRender extends JBaseRenderer { 30 | 31 | @Override 32 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 33 | super.applyElementProperty(doc, element, styles); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JTabRender.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @since 2025/7/17 28 | */ 29 | public class JTabRender extends JBaseRenderer { 30 | 31 | @Override 32 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 33 | super.applyElementProperty(doc, element, styles); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JButtonRender.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @since 2025/7/17 28 | */ 29 | public class JButtonRender extends JBaseRenderer { 30 | 31 | @Override 32 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 33 | super.applyElementProperty(doc, element, styles); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JConvasRender.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @since 2025/7/17 28 | */ 29 | public class JConvasRender extends JBaseRenderer { 30 | 31 | @Override 32 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 33 | super.applyElementProperty(doc, element, styles); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JAreaBreakRender.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @since 2025/7/17 28 | */ 29 | public class JAreaBreakRender extends JBaseRenderer { 30 | 31 | @Override 32 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 33 | super.applyElementProperty(doc, element, styles); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JCheckBoxRender.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @since 2025/7/17 28 | */ 29 | public class JCheckBoxRender extends JBaseRenderer { 30 | 31 | @Override 32 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 33 | super.applyElementProperty(doc, element, styles); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JCombolBoxRender.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @since 2025/7/17 28 | */ 29 | public class JCombolBoxRender extends JBaseRenderer { 30 | 31 | @Override 32 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 33 | super.applyElementProperty(doc, element, styles); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JInputFieldRender.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @since 2025/7/17 28 | */ 29 | public class JInputFieldRender extends JBaseRenderer { 30 | 31 | @Override 32 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 33 | super.applyElementProperty(doc, element, styles); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JTextAreaRender.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @since 2025/7/17 28 | */ 29 | public class JTextAreaRender extends JBaseRenderer { 30 | 31 | @Override 32 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 33 | super.applyElementProperty(doc, element, styles); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/config/JWaterRemarkConfig.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.config; 17 | 18 | import com.github.paohaijiao.factory.JFontProviderFactory; 19 | import com.itextpdf.kernel.font.PdfFont; 20 | import lombok.Data; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.config 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @since 2025/7/20 28 | */ 29 | @Data 30 | public class JWaterRemarkConfig { 31 | 32 | private Boolean enabled = false; 33 | 34 | private String watermarkText = "水印"; 35 | 36 | private PdfFont font = JFontProviderFactory.defualtFont(); 37 | 38 | 39 | private Float fillOpacity = 0.3f; 40 | 41 | } 42 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/enums/JDirect.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.enums; 17 | 18 | import lombok.Getter; 19 | 20 | @Getter 21 | public enum JDirect { 22 | left("left", "left"), 23 | right("right", "right"); 24 | 25 | private String code; 26 | private String name; 27 | 28 | JDirect(String code, String name) { 29 | this.code = code; 30 | this.name = name; 31 | } 32 | 33 | public static JDirect codeOf(String code) { 34 | for (JDirect j : JDirect.values()) { 35 | if (j.code.equals(code)) { 36 | return j; 37 | } 38 | } 39 | return null; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JInputButtonRender.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @since 2025/7/17 28 | */ 29 | public class JInputButtonRender extends JBaseRenderer { 30 | 31 | @Override 32 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 33 | super.applyElementProperty(doc, element, styles); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JListBoxFieldRender.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @since 2025/7/17 28 | */ 29 | public class JListBoxFieldRender extends JBaseRenderer { 30 | 31 | @Override 32 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 33 | super.applyElementProperty(doc, element, styles); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /jquick-pdf-css/src/main/java/com/github/paohaijiao/model/font/JTextShadowModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.model.font; 17 | 18 | import lombok.AllArgsConstructor; 19 | import lombok.Data; 20 | import lombok.NoArgsConstructor; 21 | 22 | import java.awt.*; 23 | 24 | /** 25 | * packageName com.github.paohaijiao.model.font 26 | * 27 | * @author Martin 28 | * @version 1.0.0 29 | * @className JTextShadowModel 30 | * @date 2025/6/29 31 | * @description 32 | */ 33 | @Data 34 | @AllArgsConstructor 35 | @NoArgsConstructor 36 | public class JTextShadowModel { 37 | public float offsetX; 38 | public float offsetY; 39 | public float blurRadius; 40 | public Color color; 41 | } 42 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JEasing.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.code; 18 | 19 | /** 20 | * 主元素的缓动效果 21 | * 22 | * @author martin 23 | */ 24 | public enum JEasing { 25 | linear, 26 | quadraticIn, quadraticOut, quadraticInOut, 27 | cubicIn, cubicOut, cubicInOut, 28 | quarticIn, quarticOut, quarticInOut, 29 | quinticIn, quinticOut, quinticInOut, 30 | sinusoidalIn, sinusoidalOut, sinusoidalInOut, 31 | exponentialIn, exponentialOut, exponentialInOut, 32 | circularIn, circularOut, circularInOut, 33 | elasticIn, elasticOut, elasticInOut, 34 | backIn, backOut, backInOut, 35 | bounceIn, bounceOut, bounceInOut 36 | } 37 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JHtmlPageBreakRender.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @since 2025/7/17 28 | */ 29 | public class JHtmlPageBreakRender extends JBaseRenderer { 30 | 31 | @Override 32 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 33 | super.applyElementProperty(doc, element, styles); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JPageTargetCountRender.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @since 2025/7/17 28 | */ 29 | public class JPageTargetCountRender extends JBaseRenderer { 30 | 31 | @Override 32 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 33 | super.applyElementProperty(doc, element, styles); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/config/JPageConfig.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.config; 17 | 18 | import com.itextpdf.kernel.geom.PageSize; 19 | import lombok.Data; 20 | 21 | /** 22 | * packageName com.github.paohaijiao.config 23 | * 24 | * @author Martin 25 | * @version 1.0.0 26 | * @since 2025/7/20 27 | */ 28 | @Data 29 | public class JPageConfig { 30 | 31 | private PageSize pageSize; 32 | 33 | private float[] margins = {50, 36, 50, 36}; 34 | 35 | private boolean autoPageBreak = true; 36 | 37 | private PageOrientation orientation = PageOrientation.PORTRAIT; 38 | 39 | public enum PageOrientation { 40 | PORTRAIT, LANDSCAPE 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JPageCountElementRender.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @since 2025/7/17 28 | */ 29 | public class JPageCountElementRender extends JBaseRenderer { 30 | 31 | @Override 32 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 33 | super.applyElementProperty(doc, element, styles); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /jquick-pdf-css/src/main/java/com/github/paohaijiao/model/JStyleAreaBreakAttributes.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.model; 17 | 18 | 19 | import java.util.HashMap; 20 | 21 | /** 22 | * packageName com.github.paohaijiao.model 23 | * 24 | * @author Martin 25 | * @version 1.0.0 26 | * @className HtmlAttributes 27 | * @date 2025/6/22 28 | * @description 29 | */ 30 | public class JStyleAreaBreakAttributes extends HashMap { 31 | public static final String pageSize = "pageSize"; 32 | 33 | public String getPageSize() { 34 | return get(pageSize); 35 | } 36 | 37 | public void setPageSize(String pageSize) { 38 | put(pageSize, pageSize); 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JCellRenderer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @className JBlockRenderer 28 | * @date 2025/6/27 29 | * @description 30 | */ 31 | public class JCellRenderer extends JBaseRenderer { 32 | @Override 33 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 34 | super.applyBlockElement(doc, element, styles); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JLinkRenderer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @className JTextRenderer 28 | * @date 2025/6/27 29 | * @description 30 | */ 31 | public class JLinkRenderer extends JBaseRenderer { 32 | @Override 33 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 34 | super.applyElementProperty(doc, element, styles); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JListRenderer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @className JBlockRenderer 28 | * @date 2025/6/27 29 | * @description 30 | */ 31 | public class JListRenderer extends JBaseRenderer { 32 | @Override 33 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 34 | super.applyBlockElement(doc, element, styles); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JTableRenderer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @className JBlockRenderer 28 | * @date 2025/6/27 29 | * @description 30 | */ 31 | public class JTableRenderer extends JBaseRenderer { 32 | @Override 33 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 34 | super.applyBlockElement(doc, element, styles); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JTextRenderer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @className JTextRenderer 28 | * @date 2025/6/27 29 | * @description 30 | */ 31 | public class JTextRenderer extends JBaseRenderer { 32 | @Override 33 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 34 | super.applyElementProperty(doc, element, styles); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JDefautRenderer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @className JTextRenderer 28 | * @date 2025/6/27 29 | * @description 30 | */ 31 | public class JDefautRenderer extends JBaseRenderer { 32 | @Override 33 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 34 | super.applyElementProperty(doc, element, styles); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JImageRenderer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @className JImageRenderer 28 | * @date 2025/6/27 29 | * @description 30 | */ 31 | public class JImageRenderer extends JBaseRenderer { 32 | @Override 33 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 34 | super.applyElementProperty(doc, element, styles); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JListItemRenderer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @className JBlockRenderer 28 | * @date 2025/6/27 29 | * @description 30 | */ 31 | public class JListItemRenderer extends JBaseRenderer { 32 | @Override 33 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 34 | super.applyBlockElement(doc, element, styles); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JTabTypeRenderer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @className JBlockRenderer 28 | * @date 2025/6/27 29 | * @description 30 | */ 31 | public class JTabTypeRenderer extends JBaseRenderer { 32 | @Override 33 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 34 | super.applyBlockElement(doc, element, styles); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /jquick-pdf-svg/src/main/java/com/github/paohaijiao/provider/JChartRenderer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.provider; 17 | 18 | 19 | import com.github.paohaijiao.JOption; 20 | 21 | import java.io.IOException; 22 | 23 | public interface JChartRenderer { 24 | /** 25 | * 渲染图表到文件 26 | * 27 | * @param option 图表配置选项 28 | * @param outputPath 输出文件路径 29 | * @throws IOException 如果文件操作出错 30 | */ 31 | void render(JOption option, String outputPath) throws IOException; 32 | 33 | /** 34 | * 渲染图表到字符串 35 | * 36 | * @param option 图表配置选项 37 | * @return SVG字符串 38 | * @throws IOException 如果操作出错 39 | */ 40 | String renderToString(JOption option) throws IOException; 41 | } 42 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/config/JDocConfig.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.config; 17 | 18 | import com.github.paohaijiao.factory.JFontProviderFactory; 19 | import com.itextpdf.kernel.font.PdfFont; 20 | import lombok.Data; 21 | 22 | import java.util.Arrays; 23 | import java.util.List; 24 | 25 | /** 26 | * packageName com.github.paohaijiao.config 27 | * 28 | * @author Martin 29 | * @version 1.0.0 30 | * @since 2025/7/20 31 | */ 32 | @Data 33 | public class JDocConfig { 34 | private List margins = Arrays.asList(50, 60, 50, 60); 35 | private PdfFont font = JFontProviderFactory.defualtFont(); 36 | private float fontSize = 10.5f; 37 | private float characterSpacing = 0.1f; 38 | } 39 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JParagraphRenderer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @className JTextRenderer 28 | * @date 2025/6/27 29 | * @description 30 | */ 31 | public class JParagraphRenderer extends JBaseRenderer { 32 | @Override 33 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 34 | super.applyElementProperty(doc, element, styles); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JSvgImageRenderer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @className JImageRenderer 28 | * @date 2025/6/27 29 | * @description 30 | */ 31 | public class JSvgImageRenderer extends JBaseRenderer { 32 | @Override 33 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 34 | super.applyElementProperty(doc, element, styles); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /jquick-pdf-font/src/main/java/com/github/paohaijiao/enums/JFrontWeight.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.enums; 17 | 18 | import lombok.Getter; 19 | 20 | @Getter 21 | public enum JFrontWeight { 22 | Italic("normal", "normal"), 23 | Bold("bold", "bold"); 24 | 25 | private String code; 26 | private String name; 27 | 28 | private JFrontWeight(String code, String name) { 29 | this.name = name; 30 | this.code = code; 31 | } 32 | 33 | public String codeOf(String code) { 34 | for (JFrontWeight style : JFrontWeight.values()) { 35 | if (style.code.equals(code)) { 36 | return style.name; 37 | } 38 | } 39 | return code; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/enums/JListType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.enums; 17 | 18 | import lombok.Getter; 19 | 20 | @Getter 21 | public enum JListType { 22 | ol("ol", "order list"), 23 | ul("ul", "un order list"); 24 | 25 | private String code; 26 | private String name; 27 | 28 | private JListType(String code, String name) { 29 | this.code = code; 30 | this.name = name; 31 | } 32 | 33 | public static JListType codeOf(String code) { 34 | for (JListType jListType : JListType.values()) { 35 | if (jListType.code.equals(code)) { 36 | return jListType; 37 | } 38 | } 39 | return null; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JLineSeperaterRenderer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @className JBlockRenderer 28 | * @date 2025/6/27 29 | * @description 30 | */ 31 | public class JLineSeperaterRenderer extends JBaseRenderer { 32 | @Override 33 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 34 | super.applyBlockElement(doc, element, styles); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/series/JRadarSeries.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.series; 18 | 19 | import com.github.paohaijiao.code.JSeriesType; 20 | import lombok.Getter; 21 | import lombok.Setter; 22 | 23 | /** 24 | * 雷达图 25 | * 26 | * @author martin 27 | */ 28 | @Getter 29 | @Setter 30 | public class JRadarSeries extends JSeries { 31 | 32 | /** 33 | * 构造函数 34 | */ 35 | public JRadarSeries() { 36 | this.type(JSeriesType.radar); 37 | } 38 | 39 | /** 40 | * 构造函数,参数:name 41 | * 42 | * @param name 43 | */ 44 | public JRadarSeries(String name) { 45 | super(name); 46 | this.type(JSeriesType.radar); 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/render/impl/JRunningElementRenderer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.render.impl; 17 | 18 | import com.github.paohaijiao.model.JStyleAttributes; 19 | import com.itextpdf.layout.Document; 20 | import com.itextpdf.layout.element.IElement; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.render.impl 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @className JBlockRenderer 28 | * @date 2025/6/27 29 | * @description 30 | */ 31 | public class JRunningElementRenderer extends JBaseRenderer { 32 | @Override 33 | public void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 34 | super.applyBlockElement(doc, element, styles); 35 | } 36 | 37 | 38 | } 39 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/enums/JUnit.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.enums; 17 | 18 | import lombok.Getter; 19 | 20 | @Getter 21 | public enum JUnit { 22 | px("px", "px"), 23 | pt("pt", "pt"), 24 | mm("mm", "mm"), 25 | cm("cm", "cm"), 26 | in("in", "in"), 27 | percent("%", "%"); 28 | private String code; 29 | private String name; 30 | 31 | JUnit(String code, String name) { 32 | this.code = code; 33 | this.name = name; 34 | } 35 | 36 | public static JUnit codeOf(String code) { 37 | for (JUnit j : JUnit.values()) { 38 | if (j.code.equals(code)) { 39 | return j; 40 | } 41 | } 42 | return null; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /jquick-pdf-css/src/main/java/com/github/paohaijiao/css/e/model/JCSSPropertiesEModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.css.e.model; 17 | 18 | import com.github.paohaijiao.css.d.model.JCSSPropertiesDModel; 19 | 20 | /** 21 | * packageName com.github.paohaijiao.model.css 22 | * 23 | * @author Martin 24 | * @version 1.0.0 25 | * @className CSSPropertiesBModel 26 | * @date 2025/6/29 27 | * @description 28 | */ 29 | public class JCSSPropertiesEModel extends JCSSPropertiesDModel { 30 | public static final String EMPTYCELLS = "empty-cells"; 31 | 32 | public String getEmptycells() { 33 | return get(EMPTYCELLS); 34 | } 35 | 36 | public void setEmptycells(String emptycells) { 37 | put(EMPTYCELLS, emptycells); 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /jquick-pdf-css/src/main/java/com/github/paohaijiao/model/JStyleListAttributes.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.model; 17 | 18 | public class JStyleListAttributes extends JStyleBlockAttributes { 19 | 20 | public static final String symbol = "symbol"; 21 | 22 | public static final String image = "image"; 23 | 24 | public String getSymbol() { 25 | return get(JStyleListAttributes.symbol); 26 | } 27 | 28 | public void setSymbol(String symbol) { 29 | put(JStyleListAttributes.symbol, symbol); 30 | } 31 | 32 | public String getImage() { 33 | return get(JStyleListAttributes.image); 34 | } 35 | 36 | public void setImage(String image) { 37 | put(JStyleListAttributes.image, image); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/model/style/JStyleModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.model.style; 17 | 18 | import com.github.paohaijiao.model.JNumberUnitModel; 19 | import lombok.Data; 20 | 21 | /** 22 | * packageName com.paohaijiao.javelin.model 23 | * 24 | * @author Martin 25 | * @version 1.0.0 26 | * @className JTextStyleModel 27 | * @date 2025/6/14 28 | * @description 29 | */ 30 | @Data 31 | public class JStyleModel { 32 | 33 | private String font; 34 | private Integer size; 35 | private String unit; 36 | private String color; 37 | private Boolean bold; 38 | private Boolean italic; 39 | private Boolean underline; 40 | private String align; 41 | 42 | private JNumberUnitModel numberUnit; 43 | } 44 | -------------------------------------------------------------------------------- /jquick-pdf-css/src/main/java/com/github/paohaijiao/css/k/model/JCSSPropertiesKModel.java: -------------------------------------------------------------------------------- 1 | package com.github.paohaijiao.css.k.model; 2 | 3 | import com.github.paohaijiao.css.j.model.JCSSPropertiesJModel; 4 | 5 | public class JCSSPropertiesKModel extends JCSSPropertiesJModel { 6 | public static final String KEYFRAMES = "@keyframes"; 7 | 8 | 9 | /** 10 | * Defines a keyframes animation rule 11 | * 12 | * @param name Animation name (must be valid CSS identifier) 13 | * @param content Keyframe steps (e.g., "0% {opacity: 0;} 100% {opacity: 1;}") 14 | * @throws IllegalArgumentException if name or content is invalid 15 | */ 16 | public void setKeyframesRule(String name, String content) { 17 | if (isValidKeyframesName(name) && isValidKeyframesContent(content)) { 18 | put(KEYFRAMES + " " + name, content); 19 | } else { 20 | throw new IllegalArgumentException("Invalid @keyframes declaration"); 21 | } 22 | } 23 | 24 | public String getKeyframesRule(String name) { 25 | return get(KEYFRAMES + " " + name); 26 | } 27 | 28 | 29 | private boolean isValidKeyframesName(String name) { 30 | return name != null && name.matches("^[a-zA-Z][a-zA-Z0-9-_]*$"); 31 | } 32 | 33 | private boolean isValidKeyframesContent(String content) { 34 | return content != null && content.contains("{") && content.contains("}"); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/series/JGeoCoord.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.series; 18 | 19 | import java.io.Serializable; 20 | import java.math.BigDecimal; 21 | import java.util.HashMap; 22 | 23 | /** 24 | * 地图特有,标线图形定位坐标 25 | * 26 | * @author martin 27 | */ 28 | public class JGeoCoord extends HashMap implements Serializable { 29 | 30 | private static final long serialVersionUID = 7548362611708057870L; 31 | 32 | /** 33 | * 设置key,x,y值 34 | * 35 | * @param key 36 | * @param x 37 | * @param y 38 | */ 39 | public JGeoCoord put(String key, String x, String y) { 40 | super.put(key, new BigDecimal[]{new BigDecimal(x), new BigDecimal(y)}); 41 | return this; 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /jquick-pdf-css/src/main/java/com/github/paohaijiao/enums/JFontKerning.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.enums; 17 | 18 | import com.itextpdf.layout.properties.FontKerning; 19 | import lombok.Getter; 20 | 21 | @Getter 22 | public enum JFontKerning { 23 | 24 | yes("yes", FontKerning.YES), 25 | no("no", FontKerning.NO); 26 | private String code; 27 | 28 | private FontKerning type; 29 | 30 | private JFontKerning(String code, FontKerning type) { 31 | this.code = code; 32 | this.type = type; 33 | } 34 | 35 | public static JFontKerning codeOf(String code) { 36 | for (JFontKerning type : values()) { 37 | if (type.code.equalsIgnoreCase(code)) { 38 | return type; 39 | } 40 | } 41 | return null; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/config/JSecurityConfig.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.config; 17 | 18 | import lombok.Data; 19 | 20 | /** 21 | * packageName com.github.paohaijiao.config 22 | * 23 | * @author Martin 24 | * @version 1.0.0 25 | * @since 2025/7/20 26 | */ 27 | @Data 28 | public class JSecurityConfig { 29 | 30 | private boolean encrypted = false; 31 | 32 | private String userPassword; 33 | 34 | private String ownerPassword; 35 | 36 | private boolean allowPrinting = true; 37 | 38 | private boolean allowCopy = true; 39 | 40 | private boolean allowModification = false; 41 | 42 | private EncryptionAlgorithm algorithm = EncryptionAlgorithm.AES_256; 43 | 44 | public enum EncryptionAlgorithm { 45 | STANDARD_40, STANDARD_128, AES_128, AES_256 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /jquick-pdf-css/src/main/java/com/github/paohaijiao/model/JStyleDivAttributes.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.model; 17 | 18 | 19 | public class JStyleDivAttributes extends JStyleBlockAttributes { 20 | 21 | 22 | public static final String fillArea = "fillArea"; 23 | 24 | public static final String fillAreaOnSplit = "fillAreaOnSplit"; 25 | 26 | public String getFillArea() { 27 | return get(JStyleDivAttributes.fillArea); 28 | } 29 | 30 | public void setFillArea(String fillArea) { 31 | put(JStyleDivAttributes.fillArea, fillArea); 32 | } 33 | 34 | public String getFillAreaOnSplit() { 35 | return get(JStyleDivAttributes.fillAreaOnSplit); 36 | } 37 | 38 | public void setFillAreaOnSplit(String fillAreaOnSplit) { 39 | put(JStyleDivAttributes.fillAreaOnSplit, fillAreaOnSplit); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /jquick-pdf-css/src/main/java/com/github/paohaijiao/custom/JBackdropFilterRenderer.java: -------------------------------------------------------------------------------- 1 | /// * 2 | // * Licensed under the Apache License, Version 2.0 (the "License"); 3 | // * you may not use this file except in compliance with the License. 4 | // * You may obtain a copy of the License at 5 | // * 6 | // * http://www.apache.org/licenses/LICENSE-2.0 7 | // * 8 | // * Unless required by applicable law or agreed to in writing, software 9 | // * distributed under the License is distributed on an "AS IS" BASIS, 10 | // * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // * See the License for the specific language governing permissions and 12 | // * limitations under the License. 13 | // * 14 | // * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | // */ 16 | //package com.github.paohaijiao.custom; 17 | //import com.itextpdf.kernel.pdf.PdfDocument; 18 | //import com.itextpdf.kernel.pdf.PdfPage; 19 | //import com.itextpdf.kernel.pdf.canvas.PdfCanvas; 20 | //import com.itextpdf.kernel.pdf.extgstate.PdfExtGState; 21 | //import com.itextpdf.kernel.colors.Color; 22 | //import com.itextpdf.layout.renderer.IRenderer; 23 | //import com.itextpdf.layout.renderer.DrawContext; 24 | //import com.itextpdf.layout.element.IElement; 25 | ///** 26 | // * packageName com.github.paohaijiao.custom 27 | // * 28 | // * @author Martin 29 | // * @version 1.0.0 30 | // * @className JBackdropFilterRenderer 31 | // * @date 2025/7/1 32 | // * @description 33 | // */ 34 | //public class JBackdropFilterRenderer implements IRenderer{ 35 | //} 36 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/sample/ReportColor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.sample; 17 | 18 | import com.itextpdf.kernel.colors.Color; 19 | import com.itextpdf.kernel.colors.DeviceRgb; 20 | 21 | /** 22 | * @author: laoliangliang 23 | * @description: 24 | * @create: 2020/5/21 17:45 25 | **/ 26 | public class ReportColor { 27 | public static Color getThemeColor() { 28 | return new DeviceRgb(37, 98, 206); 29 | } 30 | 31 | public static Color getLightBlueColor() { 32 | return new DeviceRgb(102, 170, 255); 33 | } 34 | 35 | public static Color getGreenColor() { 36 | return new DeviceRgb(29, 190, 190); 37 | } 38 | 39 | public static Color getOrangeColor() { 40 | return new DeviceRgb(247, 181, 45); 41 | } 42 | 43 | public static Color getRedColor() { 44 | return new DeviceRgb(241, 106, 111); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/enums/JAreaBreakEnums.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.enums; 17 | 18 | import com.itextpdf.layout.properties.AreaBreakType; 19 | import lombok.Getter; 20 | 21 | @Getter 22 | public enum JAreaBreakEnums { 23 | 24 | next_area("next_area", AreaBreakType.NEXT_AREA), 25 | next_page("next_page", AreaBreakType.NEXT_PAGE), 26 | last_page("last_page", AreaBreakType.LAST_PAGE); 27 | 28 | private String code; 29 | 30 | private AreaBreakType type; 31 | 32 | JAreaBreakEnums(String code, AreaBreakType type) { 33 | this.code = code; 34 | this.type = type; 35 | } 36 | 37 | public static JAreaBreakEnums codeOf(String code) { 38 | for (JAreaBreakEnums j : JAreaBreakEnums.values()) { 39 | if (j.code.equalsIgnoreCase(code)) { 40 | return j; 41 | } 42 | } 43 | return null; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /jquick-pdf-css/src/main/java/com/github/paohaijiao/enums/JVerticalAlignment.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.enums; 17 | 18 | import com.itextpdf.layout.properties.VerticalAlignment; 19 | import lombok.Getter; 20 | 21 | @Getter 22 | public enum JVerticalAlignment { 23 | 24 | top("top", VerticalAlignment.TOP), 25 | 26 | middle("middle", VerticalAlignment.MIDDLE), 27 | bottom("bottom", VerticalAlignment.BOTTOM); 28 | 29 | private String code; 30 | 31 | private VerticalAlignment type; 32 | 33 | private JVerticalAlignment(String code, VerticalAlignment type) { 34 | this.code = code; 35 | this.type = type; 36 | } 37 | 38 | public static JVerticalAlignment codeOf(String code) { 39 | for (JVerticalAlignment type : values()) { 40 | if (type.code.equals(code)) { 41 | return type; 42 | } 43 | } 44 | return null; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/treemap/TreeMapMapping.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.treemap; 17 | 18 | /** 19 | * packageName com.github.paohaijiao.treemap 20 | * 21 | * @author Martin 22 | * @version 1.0.0 23 | * @since 2025/11/4 24 | */ 25 | public class TreeMapMapping { 26 | 27 | private String keyword; 28 | 29 | private String department; 30 | 31 | public TreeMapMapping(String keyword, String department) { 32 | this.keyword = keyword; 33 | this.department = department; 34 | } 35 | 36 | public String getKeyword() { 37 | return keyword; 38 | } 39 | 40 | public void setKeyword(String keyword) { 41 | this.keyword = keyword; 42 | } 43 | 44 | public String getDepartment() { 45 | return department; 46 | } 47 | 48 | public void setDepartment(String department) { 49 | this.department = department; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/feature/JMark.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.feature; 18 | 19 | import com.github.paohaijiao.code.JLineType; 20 | import com.github.paohaijiao.style.JLineStyle; 21 | 22 | import java.util.HashMap; 23 | import java.util.Map; 24 | 25 | /** 26 | * 辅助线标志,上图icon左数1/2/3,分别是启用,删除上一条,删除全部,可设置更多属性 27 | * 28 | * @author martin 29 | */ 30 | public class JMark extends JFeature { 31 | /** 32 | * 构造函数 33 | */ 34 | public JMark() { 35 | this.show(true); 36 | Map title = new HashMap(); 37 | title.put("mark", "辅助线开关"); 38 | title.put("markUndo", "删除辅助线"); 39 | title.put("markClear", "清空辅助线"); 40 | this.title(title); 41 | this.lineStyle(new JLineStyle()); 42 | this.lineStyle().width(2); 43 | this.lineStyle().color("#1e90ff"); 44 | this.lineStyle().type(JLineType.dashed); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/handler/JStyleHandler.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.handler; 17 | 18 | import com.github.paohaijiao.factory.JStyleRendererFactory; 19 | import com.github.paohaijiao.model.JStyleAttributes; 20 | import com.github.paohaijiao.render.JStyleRenderer; 21 | import com.itextpdf.layout.Document; 22 | import com.itextpdf.layout.element.IElement; 23 | 24 | /** 25 | * packageName com.github.paohaijiao.handler 26 | * 27 | * @author Martin 28 | * @version 1.0.0 29 | * @className JStyleHandler 30 | * @date 2025/6/27 31 | * @description 32 | */ 33 | public class JStyleHandler { 34 | 35 | public static void applyStyles(Document doc, IElement element, JStyleAttributes styles) { 36 | if (doc == null || element == null || styles == null) return; 37 | JStyleRenderer renderer = JStyleRendererFactory.getRenderer(element); 38 | renderer.applyStyles(doc, element, styles); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /jquick-pdf-font/src/main/java/com/github/paohaijiao/enums/JFrontStyle.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.enums; 17 | 18 | import lombok.Getter; 19 | 20 | @Getter 21 | public enum JFrontStyle { 22 | Italic("italic", "italic"), 23 | Underline("underline", "underline"), 24 | Strikethrough("strikethrough", "strikethrough"), 25 | oblique("oblique", "oblique"), 26 | normal("normal", "normal"), 27 | initial("initial", "initial"), 28 | inherit("inherit", "inherit"); 29 | 30 | private String code; 31 | private String name; 32 | 33 | private JFrontStyle(String code, String name) { 34 | this.name = name; 35 | this.code = code; 36 | } 37 | 38 | public String codeOf(String code) { 39 | for (JFrontStyle style : JFrontStyle.values()) { 40 | if (style.code.equals(code)) { 41 | return style.name; 42 | } 43 | } 44 | return code; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/sample/event/CatalogMoveEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.sample.event; 17 | 18 | import com.github.paohaijiao.sample.ReportConstant; 19 | import com.itextpdf.kernel.events.Event; 20 | import com.itextpdf.kernel.events.IEventHandler; 21 | 22 | import java.util.Properties; 23 | 24 | /** 25 | * @author laoliangliang 26 | * @since 2020-05-24 13:53 27 | */ 28 | public class CatalogMoveEvent implements IEventHandler { 29 | 30 | private int startPage = 7; 31 | private int pageSize = 0; 32 | private Properties properties; 33 | 34 | public CatalogMoveEvent(Properties properties) { 35 | this.properties = properties; 36 | } 37 | 38 | public int getPageSize() { 39 | return pageSize; 40 | } 41 | 42 | @Override 43 | public void handleEvent(Event event) { 44 | pageSize++; 45 | properties.setProperty(ReportConstant.CATALOG_SIZE, pageSize + ""); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /jquick-pdf-css/src/main/java/com/github/paohaijiao/css/d/model/JCSSPropertiesDModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.css.d.model; 17 | 18 | import com.github.paohaijiao.css.c.model.JCSSPropertiesCModel; 19 | 20 | /** 21 | * packageName com.github.paohaijiao.model.css 22 | * 23 | * @author Martin 24 | * @version 1.0.0 25 | * @className CSSPropertiesBModel 26 | * @date 2025/6/29 27 | * @description 28 | */ 29 | public class JCSSPropertiesDModel extends JCSSPropertiesCModel { 30 | public static final String DIRECTION = "direction"; 31 | public static final String DISPLAY = "display"; 32 | 33 | public String getDirection() { 34 | return get(DIRECTION); 35 | } 36 | 37 | public void setDirection(String direction) { 38 | put(DIRECTION, direction); 39 | } 40 | 41 | public String getDisplay() { 42 | return get(DISPLAY); 43 | } 44 | 45 | public void setDisplay(String display) { 46 | put(DISPLAY, display); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /jquick-pdf-css/src/main/java/com/github/paohaijiao/enums/JBaseDirection.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.enums; 17 | 18 | import com.itextpdf.layout.properties.BaseDirection; 19 | import lombok.Getter; 20 | 21 | @Getter 22 | public enum JBaseDirection { 23 | 24 | no_bidi("no_bidi", BaseDirection.NO_BIDI), 25 | default_bidi("default_bidi", BaseDirection.DEFAULT_BIDI), 26 | left_to_right("left_to_right", BaseDirection.LEFT_TO_RIGHT), 27 | right_to_left("right_to_left", BaseDirection.RIGHT_TO_LEFT); 28 | private String code; 29 | 30 | private BaseDirection type; 31 | 32 | private JBaseDirection(String code, BaseDirection type) { 33 | this.code = code; 34 | this.type = type; 35 | } 36 | 37 | public static JBaseDirection codeOf(String code) { 38 | for (JBaseDirection type : values()) { 39 | if (type.code.equals(code)) { 40 | return type; 41 | } 42 | } 43 | return null; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /jquick-pdf-css/src/main/java/com/github/paohaijiao/enums/JTextAlignment.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.enums; 17 | 18 | import com.itextpdf.layout.properties.TextAlignment; 19 | import lombok.Getter; 20 | 21 | @Getter 22 | public enum JTextAlignment { 23 | left("left", TextAlignment.LEFT), 24 | 25 | center("center", TextAlignment.CENTER), 26 | right("right", TextAlignment.RIGHT), 27 | justified("justified", TextAlignment.JUSTIFIED), 28 | justified_all("justified_all", TextAlignment.JUSTIFIED_ALL); 29 | private String code; 30 | 31 | private TextAlignment type; 32 | 33 | private JTextAlignment(String code, TextAlignment type) { 34 | this.code = code; 35 | this.type = type; 36 | } 37 | 38 | public static JTextAlignment codeOf(String code) { 39 | for (JTextAlignment type : values()) { 40 | if (type.code.equals(code)) { 41 | return type; 42 | } 43 | } 44 | return null; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/enums/JHtmlPageBreakTypeEnums.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.enums; 17 | 18 | import com.itextpdf.html2pdf.attach.impl.layout.HtmlPageBreakType; 19 | import lombok.Getter; 20 | 21 | @Getter 22 | public enum JHtmlPageBreakTypeEnums { 23 | 24 | next_area("next_area", HtmlPageBreakType.ALWAYS), 25 | next_page("next_page", HtmlPageBreakType.LEFT), 26 | last_page("last_page", HtmlPageBreakType.RIGHT); 27 | 28 | private String code; 29 | 30 | private HtmlPageBreakType type; 31 | 32 | JHtmlPageBreakTypeEnums(String code, HtmlPageBreakType type) { 33 | this.code = code; 34 | this.type = type; 35 | } 36 | 37 | public static JHtmlPageBreakTypeEnums codeOf(String code) { 38 | for (JHtmlPageBreakTypeEnums j : JHtmlPageBreakTypeEnums.values()) { 39 | if (j.getCode().equalsIgnoreCase(code)) { 40 | return j; 41 | } 42 | } 43 | return null; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/config/JFontConfig.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.config; 17 | 18 | import com.github.paohaijiao.factory.JFontProviderFactory; 19 | import com.itextpdf.kernel.font.PdfFont; 20 | import lombok.Data; 21 | 22 | /** 23 | * packageName com.github.paohaijiao.config 24 | * 25 | * @author Martin 26 | * @version 1.0.0 27 | * @since 2025/7/20 28 | */ 29 | @Data 30 | public class JFontConfig { 31 | 32 | private PdfFont defaultFont = JFontProviderFactory.defualtFont(); 33 | 34 | private PdfFont titleFont = JFontProviderFactory.defualtFont(); 35 | 36 | private PdfFont bodyFont = JFontProviderFactory.defualtFont(); 37 | 38 | private PdfFont headerFooterFont = JFontProviderFactory.defualtFont(); 39 | 40 | private PdfFont codeFont = JFontProviderFactory.defualtFont(); 41 | 42 | private String fontDirectory = "fonts"; 43 | 44 | private String defaultFontName = "SimSun"; 45 | 46 | private String defaultEncoding = "UniGB-UCS2-H"; 47 | } 48 | -------------------------------------------------------------------------------- /jquick-pdfx/src/main/java/com/github/paohaijiao/config/JHeaderConfig.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | package com.github.paohaijiao.config; 17 | 18 | import com.github.paohaijiao.factory.JFontProviderFactory; 19 | import com.itextpdf.kernel.colors.Color; 20 | import com.itextpdf.kernel.colors.DeviceRgb; 21 | import com.itextpdf.kernel.font.PdfFont; 22 | import com.itextpdf.layout.properties.TextAlignment; 23 | import lombok.Data; 24 | 25 | /** 26 | * packageName com.github.paohaijiao.config 27 | * 28 | * @author Martin 29 | * @version 1.0.0 30 | * @since 2025/7/20 31 | */ 32 | @Data 33 | public class JHeaderConfig { 34 | 35 | private boolean enabled = true; 36 | 37 | private String text = "页眉"; 38 | 39 | private PdfFont font = JFontProviderFactory.defualtFont(); 40 | 41 | private float fontSize = 10; 42 | 43 | private Color fontColor = new DeviceRgb(37, 98, 206); 44 | 45 | private float height = 30; 46 | 47 | private Color backgroundColor; 48 | 49 | 50 | private TextAlignment alignment = TextAlignment.CENTER; 51 | 52 | } 53 | -------------------------------------------------------------------------------- /jquick-pdf-svg/src/test/java/BubbleDataCreator.java: -------------------------------------------------------------------------------- 1 | import java.util.*; 2 | 3 | /** 4 | * 气泡图数据创建工具类 5 | */ 6 | public class BubbleDataCreator { 7 | 8 | /** 9 | * 创建AQI空气质量监测示例数据 10 | */ 11 | public static List> createAQISampleData() { 12 | List> data = new ArrayList<>(); 13 | Random random = new Random(42); // 固定种子以便重现 14 | 15 | String[] dates = {"01-01", "01-02", "01-03", "01-04", "01-05", "01-06", "01-07", "01-08", "01-09", "01-10", "01-11", "01-12", "01-13", "01-14", "01-15"}; 16 | for (int i = 0; i < dates.length; i++) { 17 | int aqi = 20 + random.nextInt(180); // AQI 20-200 18 | double pm25 = 10 + random.nextDouble() * 150; // PM2.5 10-160 19 | 20 | String category; 21 | if (aqi <= 50) category = "优"; 22 | else if (aqi <= 100) category = "良"; 23 | else if (aqi <= 150) category = "轻度污染"; 24 | else if (aqi <= 200) category = "中度污染"; 25 | else category = "重度污染"; 26 | 27 | String name = String.format("日期:%s, AQI:%d, PM2.5:%.1f", dates[i], aqi, pm25); 28 | 29 | Map dataPoint = new HashMap<>(); 30 | dataPoint.put("x", dates[i]); 31 | dataPoint.put("y", aqi); 32 | dataPoint.put("size", pm25); 33 | dataPoint.put("category", category); 34 | dataPoint.put("name", name); 35 | 36 | data.add(dataPoint); 37 | } 38 | 39 | return data; 40 | } 41 | 42 | /** 43 | * 创建完整的AQI气泡图系列数据 44 | */ 45 | public static List createAQIBubbleSeriesData() { 46 | return new ArrayList<>(createAQISampleData()); 47 | } 48 | } -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/code/JDataFilter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | /* 18 | * Licensed under the Apache License, Version 2.0 (the "License"); 19 | * you may not use this file except in compliance with the License. 20 | * You may obtain a copy of the License at 21 | * 22 | * http://www.apache.org/licenses/LICENSE-2.0 23 | * 24 | * Unless required by applicable law or agreed to in writing, software 25 | * distributed under the License is distributed on an "AS IS" BASIS, 26 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 27 | * See the License for the specific language governing permissions and 28 | * limitations under the License. 29 | * 30 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 31 | */ 32 | package com.github.paohaijiao.code; 33 | 34 | /** 35 | * ECharts 会在折线图的数据数量大于实际显示的像素宽度(高度)的时候会启用优化,对显示在一个像素宽度内的数据做筛选,该选项是指明数据筛选的策略。 36 | * 可选 'nearest', 'min', 'max', 'average'。或者是使用自定义的筛选函数 37 | * 38 | * @author martin 39 | */ 40 | public enum JDataFilter { 41 | nearest, min, max, average 42 | } 43 | -------------------------------------------------------------------------------- /jquick-pdf-data/src/main/java/com/github/paohaijiao/data/JPieData.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed under the Apache License, Version 2.0 (the "License"); 3 | * you may not use this file except in compliance with the License. 4 | * You may obtain a copy of the License at 5 | * 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Unless required by applicable law or agreed to in writing, software 9 | * distributed under the License is distributed on an "AS IS" BASIS, 10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | * See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | * 14 | * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) 15 | */ 16 | 17 | package com.github.paohaijiao.data; 18 | 19 | import lombok.Getter; 20 | import lombok.Setter; 21 | 22 | import java.io.Serializable; 23 | 24 | /** 25 | * 饼图 26 | * 27 | * @author martin 28 | */ 29 | @Getter 30 | @Setter 31 | public class JPieData implements Serializable { 32 | 33 | private static final long serialVersionUID = -2573889018261931162L; 34 | 35 | private Object value; 36 | private String name; 37 | 38 | /** 39 | * 构造函数,参数:name,value 40 | * 41 | * @param name 42 | * @param value 43 | */ 44 | public JPieData(String name, Object value) { 45 | this.value = value; 46 | this.name = name; 47 | } 48 | 49 | /** 50 | * 获取value值 51 | */ 52 | public Object value() { 53 | return this.value; 54 | } 55 | 56 | /** 57 | * 设置value值 58 | * 59 | * @param value 60 | */ 61 | public JPieData value(Object value) { 62 | this.value = value; 63 | return this; 64 | } 65 | } 66 | --------------------------------------------------------------------------------