¡Mi generador de cuadernos es de código abierto!

xxy-cuaderno

introducir

Cuando el niño comenzó la escuela primaria, quería obtener un generador de cuadernos para el niño, para que el niño pudiera practicar más caligrafía. Debido a que la escritura de su padre no era buena, quería que la escritura del niño se viera más hermosa. Por varias razones , el niño solo estaba en el grado 4. He terminado de escribir el generador de cuadernos, espero que sea demasiado tarde.
Esta es la biblioteca de clases principal generada por copybooks. Ahora es de código abierto. Espero que también pueda ayudar a algunos amigos que son como yo.
Dirección de mi estación B: space.bilibili.com/1159595523
Dirección de Nuggets: juejin.cn/user/350569…

la función principal

  • Admite la definición del estilo de la tabla de copybook. Se pueden personalizar y usar juntos varios estilos de campos, líneas horizontales y bordes.
  • Admite el estilo de celda de cuaderno personalizado extendido.
  • Se admiten los cuadernos Pinyin.
  • Personaliza la fuente utilizada.
  • Cuando hay demasiado texto, puede generar automáticamente cuadernos de varias páginas por paginación.
  • Se puede usar una variedad de estilos de uso en una línea o una línea con varios caracteres.

Arquitectura de software

  • Las celdas del libro de copias están diseñadas con el patrón decorador. Para implementar su propio estilo de segmento de línea, debe implementar AbstractCellDecorator, y para implementar el estilo de texto, debe implementar AbstractCellTextDecorator. En cell.line es la decoración de segmento de línea implementada, y cell.text es la decoración de texto implementada.

  • La generación de copybooks utiliza el modo constructor. CopybookDirector es el director del constructor. Para realizar su propia plantilla, necesita implementar AbstractCopybookBuilder.

  • Mapa UML de Decorator para estilos básicos1657432805444-ebb79f40-a413-4f7f-bc1d-8e71e13287a3.png

  • Mapa UML de todas las clases1657432965905-df5b05c8-74d1-425b-92c3-82d58afe049a.png

Instrucciones de uso

Puede poner sus fuentes favoritas en la carpeta de recursos/fuentes. Debido a problemas de derechos de autor, no puedo proporcionar fuentes aquí, por lo que puede recopilarlas usted mismo.
Los amigos que esperen utilizarlo lo antes posible pueden echarle un vistazo a estas dos clases:

  • CopybookTemplate se usa para establecer el estilo del cuaderno, incluido el color de fondo del cuaderno, el borde predeterminado, etc.
  • CopybookData se utiliza para configurar los datos del cuaderno, donde se colocan el texto que se mostrará en el cuaderno, pinyin y el contenido de la cabeza y la cola del cuaderno. Un código básico de generación de copybook:
//设置显示的文字
String text = "屈渊孟甫韩愈禹锡仲龚";
//字体名字
String fontName = "嗡阿吽-田英章钢笔楷书简";

CopybookTemplate.CopybookTemplateBuilder copybookTemplateBuilder = CopybookTemplate.builder()
        .emptyCellNum(2)
        .textLineStroke(StrokeForCell.LINE)
        //单元格使用一个边框+田字格样式。
        .textCellLineStyle(CollUtil.toList(LineStyle.BORDER, LineStyle.TIAN));
//给边框格一个加粗的边线
copybookTemplateBuilder.textLineStrokeMap(MapUtil
        .builder(LineStyle.BORDER.getValue(), StrokeForCell.LINE_BOLD)
        .build());
Font font = new Font(fontName, Font.PLAIN, 140);
copybookTemplateBuilder.font(font);
//设置模板数据
CopybookTemplate copybookTemplate = copybookTemplateBuilder.pagePadding(new Integer[]{10,10,10,200}).build();
CopybookData copybookData = CopybookData.builder()
        .author("Radium")
        .wordList(CollUtil.toList(text.split("")))
        .build();

BaseCopybook baseCopybook = new BaseCopybook(copybookTemplate, copybookData);
CopybookDirector director = new CopybookDirector(baseCopybook);
try {
    Copybook construct = director.buildCopybook();
    BufferedImage bufferedImage = construct.exportFirstImage();
    //输出图像
    ByteArrayOutputStream output = new ByteArrayOutputStream();
    ImageIO.write(bufferedImage, "png", output);
    FileUtil.writeBytes(output.toByteArray(),
            new File(outputPath+"construct.png"));
} catch (Exception e) {
    e.printStackTrace();
}

El proceso general de uso es el siguiente:

  1. Establezca estilos de plantilla a través de CopybookTemplate.
  2. Configure los datos de la plantilla a través de CopybookData.
  3. Utilice el BaseCopybook de la plantilla para generar copybooks. Para obtener más métodos de uso, consulte AppTest en prueba.

Participa y contribuye

Todavía hay muchas imperfecciones en las obras de tiempo libre personal. Le invitamos a enviar el código.

  1. Bifurcar este repositorio
  2. Nueva rama Feat_xxx
  3. Ingrese el código
  4. Nueva solicitud de extracción

Ejemplo

  • cuaderno básicoconstruir.png
  • Cuaderno pinyinconstruirPinyin0.png
  • Establecer el encabezado y el pie de página del cuadernoconstructHeaderAndFooter0.png
  • Cuaderno automático de varias páginas
    • la primera paginaconstruirMás0.png
    • la segunda paginaconstruirMás1.png

Supongo que te gusta

Origin juejin.im/post/7118635049779462157
Recomendado
Clasificación