当前位置: 首页 > news >正文

wordpress 目录插件合肥网站优化公司

wordpress 目录插件,合肥网站优化公司,网络营销推,怎么为自己的厂做网站JAVA版本的OFD板式文件创建工具easyofd. 功能包含了图像、 图像、 文字、和模版页功能。同时也支持OFD文件的数字签名及验签,电子签章及验签。 本JAVA版本的easyofd使用原生方式创建板式文件,不依赖JAVA的SWT库。 项目地址:http://…

     JAVA版本的OFD板式文件创建工具easyofd.
     功能包含了图像、 图像、 文字、和模版页功能。同时也支持OFD文件的数字签名及验签,电子签章及验签。
     本JAVA版本的easyofd使用原生方式创建板式文件,不依赖JAVA的SWT库。

     项目地址:http://wiki.easyofd.cn/zh/JAVA
     浏览器查看OFD文件控件地址: http://www.easyofd.cn

     代码地址:https://github.com/11627685/easyofd-java

本章节介绍OFD文件怎么添加字体,使用文字。

一、基础文字

1.1 默认文字

  与图形和图形一样,直接利用Page对象的addText方法就可以添加文字,该基本方法只需要三个参数,需要展示的文字text,x轴和y轴坐标(baseline)。

  • addText
    public CTPageBlock.TextObject addText(java.lang.String text,double x,double y)

    在默认Body层 x y坐标增加文字,该文字为默认宋体,横向展示。 该函数会根据字符的宽度和高度计算展示的矩形边界,内部的X,Y会被重新计算

    参数:

    text - 展示的文本

    x - 第一个字型绘制点在对象坐标系下的 X 坐标。计算后都是相对于Boundary的x。

    y - 注意是baseline的地方 ;第一个字型绘制点在对象坐标系下的 y 坐标。计算后都是相对于Boundary的y。

    返回:

    CTPageBlock.TextObject对象

    另请参阅:

    OFD标准指南-文字-11.2 文字对象 Text

  样例代码如下:

/*默认字体*/
page.addText("默认字体:宋体",20.0,20.0);

Copy

1.2 文字大小

  文字的大小可以调用另外一个方法,该方法的fontSize可以指定文字的大小(单位:MM)。也可利用1.1的方法利用返回的CTPageBlock.TextObject对象在设置文字的大小。

  • addText
    public CTPageBlock.TextObject addText(java.lang.String text,double x,double y,double fontSize)

    在默认Body层 x y坐标增加文字,该文字为默认宋体,横向展示。 该函数会根据字符的宽度和高度计算展示的矩形边界,内部的X,Y会被重新计算

    参数:

    text - 展示的文本

    x - 第一个字型绘制点在对象坐标系下的 X 坐标。计算后都是相对于Boundary的x。

    y - 注意是baseline的地方 ;第一个字型绘制点在对象坐标系下的 y 坐标。计算后都是相对于Boundary的y。

    fontSize - 字体大小

    返回:

    CTPageBlock.TextObject对象

    另请参阅:

    OFD标准指南-文字-11.2 文字对象 Text

  样例代码如下:

page.addText("默认字体:宋体,5MM大小",20,30,5);

Copy

1.3 文字颜色

  文字的填充颜色可设置fillColor参数。

  • addText
    public CTPageBlock.TextObject addText(java.lang.String text,double x,double y,double fontSize,CTColor fillColor,CTColor strokeColor)

    在默认Body层 x y坐标增加文字,该文字为默认宋体,横向展示。 该函数会根据字符的宽度和高度计算展示的矩形边界,内部的X,Y会被重新计算

    参数:

    text - 展示的文本

    x - 第一个字型绘制点在对象坐标系下的 X 坐标。计算后都是相对于Boundary的x。

    y - 注意是baseline的地方 ;第一个字型绘制点在对象坐标系下的 y 坐标。计算后都是相对于Boundary的y。

    fontSize - 字体大小

    fillColor - 字体填充颜色

    strokeColor - 字体勾边颜色

    返回:

    CTPageBlock.TextObject对象

    另请参阅:

    OFD标准指南-文字-11.2 文字对象 Text

  样例代码如下:

CTColor color=new CTColor();
color.setValue("255 0 0");
page.addText("字体颜色",100,40,8,color,null);

Copy

1.4 文字勾边

  文字的勾边颜色可设置strokeColor参数。方法同1.4文字颜色

  样例代码如下:

CTColor color=new CTColor();
color.setValue("255 0 0");CTColor color3=new CTColor();
color3.setValue("0 255 0");page.addText("字体勾边颜色",80,100,18,color3,color);

Copy

1.5 文字方向

  文字方向可以设置 readDirection参数。

  • addText
    public CTPageBlock.TextObject addText(java.lang.String text,double x,double y,double fontSize,java.lang.Integer readDirection)

    在默认Body层 x y坐标增加文字,该文字为默认宋体,横向展示。 该函数会根据字符的宽度和高度计算展示的矩形边界,内部的X,Y会被重新计算

    参数:

    text - 展示的文本

    x - 第一个字型绘制点在对象坐标系下的 X 坐标。计算后都是相对于Boundary的x。

    y - 注意是baseline的地方 ;第一个字型绘制点在对象坐标系下的 y 坐标。计算后都是相对于Boundary的y。

    fontSize - 字体大小

    readDirection - 阅读方向,指定了文字排列的方向, 默认值为0 目前只支持 0 90

    返回:

    CTPageBlock.TextObject对象

    另请参阅:

    OFD标准指南-文字-11.2 文字对象 Text

  样例代码如下:

/*阅读方向设定*/
page.addText("阅读方向",20,40,5,90);

Copy

readDirection的参数可以参考:wiki.easyofd.cn/OFD标准/文字的表47 文字排列方向、阅读方向说明

1.6 文件效果

  OFD软件展示结果如下图:

fontbase.png

二、设置字体

注意:不建议通过注册字体方式使用字体,在第七小结(关于字体的一些说明)会详细说明。

2.1 注册字体

  与图片一样,通过OFDocument类的getOfdCommonData()就可以获取功OFD公共资源存储的管理类。该类除了字体存储功能外,还有其他指定该文档页面区域的默认大小和位置、模版页序列等功能,具体见OFD标准指南-7.5.1 文档公共数据结构

  • registerFont
    public int registerFont(java.lang.String FontName,java.lang.String fontPath)

    注册需要使用的字体文件,注册后字体文件会被打包到OFD文件中 不建议使用

    参数:

    FontName - 字体的文件,注意是字体的名称,建议字体文件名称和字体名称一致

    fontPath - 字体的存放路径

    返回:

    ID 返回-1 说明字体已经注册或添加字体出错 ,其他组成后的ID

  样例代码如下:

/**
* 注册字体,该字体文件会被打包到ofd文件内
*/
int fontcalibriID=ofDocument.getOfdCommonData().registerFont("Calibri","font/Calibri.ttf");

Copy

2.2 使用字体

  样例代码如下:

int fontcalibriID=ofDocument.getOfdCommonData().registerFont("Calibri","font/Calibri.ttf");/*设置默认字体*/
double fontSize=5;
Font font=new Font("Calibri",Font.PLAIN,(int) Util.mmToPoints((float)fontSize));
page.addText("Calibri:abcdefghijklmnopqrstuvwxyz",20,30,fontSize,fontcalibriID,font,null,null,null,null,null,null,null);
page.addText("Calibri:中文展示情况",110,30,fontSize,fontcalibriID,font,null,null,null,null,null,null,null);

Copy

2.3 使用系统字体

  • addFont
    public int addFont(java.lang.String fontName)

    字型 不需要注册的字体,可以直接使用,系统默认已经集成的

    参数:

    fontName - 字型名 eg:楷体

    返回:

    ID 返回-1 说明字体已经注册

  样例代码如下:

//ofd生成操作系统和展示系统都已经有的字体情况int fontyaheiID=ofDocument.getOfdCommonData().addFont("微软雅黑");
Font font3=new Font("微软雅黑",Font.PLAIN,(int) Util.mmToPoints((float)fontSize));
page.addText("微软雅黑:abcdefghijklmnopqrstuvwxyz",20,60,fontSize,fontyaheiID,font3,null,null,null,null,null,null,null);
page.addText("微软雅黑:中文展示情况",110,60,fontSize,fontyaheiID,font3,null,null,null,null,null,null,null);

Copy

2.4 文件效果

  OFD软件展示结果如下图:

text-font.png

三、图元

3.1 字体/图元制作

  字体和图元的制作可以通过市面流行的字体工具进行,主要有FontCreator、Glyphs等。通过字体设计软件保留部分图元。例如湖北省的增值税发票就利用这种模式。
该字体文件的的结果如图:

图元字体.png

3.2 注册字体

  与一般字体注册类似,我们也通过公共资源注册字体。同2.1注册字体。

  样例代码如下:

/*** 注册字体,该字体文件会被打包到ofd文件内*/
int fontKaiTiID=ofDocument.getOfdCommonData().registerFont("KaiTi","font/KaiTi.ttf");
/*设置字体*/
double fontSize=5;
File file = new File("font/KaiTi.ttf");
Font font2 = Font.createFont(Font.TRUETYPE_FONT, file);
int size=(int) Util.mmToPoints((float)fontSize);
font2 = font2.deriveFont((float)size); // 设置字体大小

Copy

3.2 使用图元

  图元相关的字体文件注册完成后,我们就可以使用该字体下的图元了。

需要注意的是,我们不能在text参数内输入自己想要的文字了,必须把对应字体图元的Unicode值码给下面参数:

  例如3.1 字体/图元制作的图片中“01234”的Unicode值对应的中文分别是“开日期校验”。
  在传入参数是使用“01234”。

  • addTextGlyph
    public CTPageBlock.TextObject addTextGlyph(java.lang.String text,double x,double y,double fontSize,long fontID,java.awt.Font font)

    在默认Body层 x y坐标增加文字图元 该函数会根据字符的宽度和高度计算展示的矩形边界,内部的X,Y会被重新计算

    参数:

    text - 展示的文本

    x - 第一个字型绘制点在对象坐标系下的 X 坐标。

    y - 注意是baseline的地方 ;第一个字型绘制点在对象坐标系下的 y 坐标。

    fontSize - 字号,单位为毫米

    fontID - 引用资源文件中定义的字型的标识

    font - 字体

    返回:

    CTPageBlock.TextObject对象

    另请参阅:

    OFD标准指南-文字-11.2 文字对象 Text

  样例代码如下:

CTPageBlock.TextObject textObject=  page.addTextGlyph("\uE001\uE00A !\"#$%&'()*+,-./0123456789:<=>?@",20,30,fontSize,fontKaiTiID,font2);

Copy

3.3 图元颜色和勾边

  通过设置fillColor和strokeColor来设置图元的填充、勾边颜色。

  • addTextGlyph
    public CTPageBlock.TextObject addTextGlyph(java.lang.String text,double x,double y,double fontSize,long fontID,java.awt.Font font,CTColor fillColor,CTColor strokeColor)

    在默认Body层 x y坐标增加文字图元 该函数会根据字符的宽度和高度计算展示的矩形边界,内部的X,Y会被重新计算

    参数:

    text - 展示的文本

    x - 第一个字型绘制点在对象坐标系下的 X 坐标。

    y - 注意是baseline的地方 ;第一个字型绘制点在对象坐标系下的 y 坐标。

    fontSize - 字号,单位为毫米

    fontID - 引用资源文件中定义的字型的标识

    font - 字体

    fillColor - 填充颜色

    strokeColor - 勾边颜色

    返回:

    CTPageBlock.TextObject对象

    另请参阅:

    OFD标准指南-文字-11.2 文字对象 Text

  样例代码如下:

CTColor color=new CTColor();
color.setValue("255 0 0");
CTPageBlock.TextObject textObject2=  page.addTextGlyph("ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abc;",20,50,fontSize,fontKaiTiID,font2,color,null);

Copy

3.4 文件效果

text-glyphs.png

四、圆形文字跟随

4.1 圆形文字

  在OFD文件中增加圆形文字,只需要使用addTextCircleAndTrans方法。该方法的参数如下:

  • addTextCircleAndTrans
    public CTPageBlock.TextObject[] addTextCircleAndTrans(java.lang.String text,double x,double y,double r,double startAngle,double endAnagel,int direction)

    增加圆形文字

    参数:

    text - 文字

    x - 圆形X坐标

    y - 圆形Y坐标

    r - 园的半径

    startAngle - 开始角度 eg:90

    endAnagel - 结束角度,结束角度必须大于开始角度 ,如果开始度数为180度 结束可以为360+90度

    direction - 绘制方向 1-顺时针绘制 2逆时针绘制

    返回:

    CTPageBlock.TextObject[]数组

    另请参阅:

    OFD标准指南-文字-11.2 文字对象 Text

  样例代码如下:

page.addTextCircleAndTrans("某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某",140,50,24,90,440,1);

Copy

  上述代码是圆心在(140,50),圆半径为24的圆线上绘制文字,开始度数是90度,结束度数是360+80 =440度。

4.2 逆时针文字

  只需要设置上述参数的 direction为2就可以逆时针绘制文字。
  样例代码如下:

page.addTextCircleAndTrans("0123456789",140,120,24,45,135,2);

Copy

4.3 文字大小

emsp; 设置文字大小、字体、颜色都可以通过一下参数来设置。

  • addTextCircleAndTrans
    public CTPageBlock.TextObject[] addTextCircleAndTrans(java.lang.String text,double x,double y,double r,double startAngle,double endAnagel,int direction,float fontSize,int fontID,java.awt.Font font,CTColor fillColor,CTColor strokeColor,java.lang.Integer weight,java.lang.Boolean italic)

    增加圆形文字

    参数:

    text - 文字

    x - 圆形X坐标

    y - 圆形Y坐标

    r - 园的半径

    startAngle - 开始角度

    endAnagel - 结束角度,结束角度必须大于开始角度

    direction - 绘制方向 1-顺时针绘制 2逆时针绘制

    fontSize - 字体大小

    fontID - 资源中的字形ID

    font - java中的字体

    fillColor - 填充颜色

    strokeColor - 勾边颜色

    weight - 文字对象的粗细值;可选取值为100,200,300,100,500,600,700,800,900 默认值为400

    italic - 是否是斜体样式 默认fasle

    返回:

    CTPageBlock.TextObject[]数组

    另请参阅:

    OFD标准指南-文字-11.2 文字对象 Text

  样例代码如下:

CTColor color=new CTColor();
color.setValue("255 0 0");
float fontSize= Util.FontSize ;
Font font=new Font("宋体",Font.PLAIN,(int)Util.mmToPoints((float)fontSize));
int fontID = ofDocument.getOfdCommonData().getDefaultFontid();page.addTextCircleAndTrans("某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某",70,50,24,90,440,1,fontSize,fontID,font,color,null,null,null);

Copy

4.4 文字颜色

emsp; 参考4.3 文字大小设置文字大小、字体、颜色。
  样例代码如下:

CTColor color=new CTColor();
color.setValue("255 0 0");
float fontSize= Util.FontSize ;
Font font=new Font("宋体",Font.PLAIN,(int)Util.mmToPoints((float)fontSize));
int fontID = ofDocument.getOfdCommonData().getDefaultFontid();page.addTextCircleAndTrans("某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某",70,50,24,90,440,1,fontSize,fontID,font,color,null,null,null);

Copy

4.5 文件效果

text-circle.png

五、椭圆文字跟随

5.1 椭圆文字

  在OFD文件中增加椭圆文字,只需要使用addTextEllipseAndTrans方法。该方法的参数如下:

  • addTextEllipseAndTrans
    public CTPageBlock.TextObject[] addTextEllipseAndTrans(java.lang.String text,double x,double y,double a,double b,double startAngle,double endAnagel,int direction)

    参数:

    text - 绘制的文本

    x - 椭圆的心X坐标

    y - 椭圆的心Y坐标

    a - 椭圆的长轴

    b - 椭圆的短轴

    startAngle - 开始角度

    endAnagel - 结束角度,结束角度必须大于开始角度

    direction - 绘制方向 1-顺时针绘制 2逆时针绘制

    返回:

    CTPageBlock.TextObject[]

    另请参阅:

    OFD标准指南-文字-11.2 文字对象 Text

  样例代码如下:

float fontSize= Util.FontSize ;
Font font=new Font("宋体",Font.PLAIN,(int)Util.mmToPoints((float)fontSize));
int fontID = ofDocument.getOfdCommonData().getDefaultFontid();
page.addTextEllipseAndTrans("某某某某某某某某某某某某某某某",40,30,20,15,90,450,1,fontSize,fontID,font,color2,null,null,null);

Copy

5.2 逆时针文字

  只需要设置上述参数的 direction为2就可以逆时针绘制文字

5.3 文字大小

emsp; 设置文字大小、字体、颜色都可以通过一下参数来设置。

  • addTextEllipseAndTrans
    public CTPageBlock.TextObject[] addTextEllipseAndTrans(java.lang.String text,double x,double y,double a,double b,double startAngle,double endAnagel,int direction,double fontSize,long fontID,java.awt.Font font,CTColor fillColor,CTColor strokeColor,java.lang.Integer weight,java.lang.Boolean italic)

    参数:

    text - 绘制的文本

    x - 椭圆的心X坐标

    y - 椭圆的心Y坐标

    a - 椭圆的长轴

    b - 椭圆的短轴

    startAngle - 开始角度

    endAnagel - 结束角度,结束角度必须大于开始角度

    direction - 绘制方向 1-顺时针绘制 2逆时针绘制

    fontSize - 字体大小

    fontID - 资源中的字形ID

    font - java中的字体

    fillColor - 填充颜色

    strokeColor - 勾边颜色

    weight - 文字对象的粗细值;可选取值为100,200,300,100,500,600,700,800,900 默认值为400

    italic - 是否是斜体样式 默认fasle

    返回:

    CTPageBlock.TextObject[]

    另请参阅:

    OFD标准指南-文字-11.2 文字对象 Text

  样例代码如下:

float fontSize= Util.FontSize ;
Font font=new Font("宋体",Font.PLAIN,(int)Util.mmToPoints((float)fontSize));
int fontID = ofDocument.getOfdCommonData().getDefaultFontid();
page.addTextEllipseAndTrans("某某某某某某某某某某某某某某某",40,30,20,15,90,450,1,fontSize,fontID,font,color2,null,null,null);

Copy

5.4 文字颜色

emsp; 参考5.3 文字大小设置文字大小、字体、颜色。
  样例代码如下:

float fontSize= Util.FontSize ;
Font font=new Font("宋体",Font.PLAIN,(int)Util.mmToPoints((float)fontSize));
int fontID = ofDocument.getOfdCommonData().getDefaultFontid();
page.addTextEllipseAndTrans("某某某某某某某某某某某某某某某",40,30,20,15,90,450,1,fontSize,fontID,font,color2,null,null,null);

Copy

5.5 文件效果

text-ellipse.png

六、设置默认字体

  默认字体的配置在Util类的静态变量中。默认代码如下:

/*** 默认字体大小五号,单位3.7MM  14像素*/public static float FontSize=   3.70f;/*** 默认字体 宋体*/public static String FontName="宋体";/*** 默认的字体 宋体 五号,单位3.7MM  14像素*/public static Font font=new Font(FontName,Font.PLAIN,14);

Copy

注意:一定要再使用文字前设置好你的默认字体。

七、关于字体的一些说明

7.1 字体文件

  字体文件ttf或ttc文件的中文字体一般情况下都是有点大的。如果把相应的字体文件也打包到OFD文件中,就会增加OFD文件的大小,因此是不建议这么操作的
  建议方式是在产生OFD文件的系统和查看的客户端都安装要使用的字体。如果不想在客户端安装字体,可以考虑通过图元方式,减少字体文件的大小,只把固定使用的字保存在字体ttf或ttc文件中,不过该方式支持的字体数量是有限的。

注意一:本软件默认字体为宋体,大小为14PT,3.70MM。请确保你使用的系统是有该字体。
注意二:本文中所有的单位除特殊说明外都MM。

7.2 系统支持字体清单

  系统支持的字体清单可以通过一下程序获取。

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();Font[] allFonts = ge.getAllFonts();List<String> chineseFonts = new ArrayList<>();for (Font font : allFonts) {System.out.println(font.getFontName());//            // 检查字体名称是否包含中文字符
//            if (font.getName().matches(".*[\u4e00-\u9fa5]+.*")) {
//                chineseFonts.add(font.getFontName());
//            }}// 输出所有找到的中文字体名称for (String fontName : chineseFonts) {System.out.println(fontName);}

Copy

¶7.3 系统字体安装

  这里本文就不在熬述了,无论是windows系统还是其他unix系统都有相应的文章。无论如何,要正确使用和度量字体都要确保你使用的系统是注册且可以正确使用你要使用的字体。

http://www.yidumall.com/news/86015.html

相关文章:

  • 网站的更新与维护google图片搜索引擎入口
  • 最佳网站线上商城的推广方案
  • 专业的移动网站建设公司排名企业微信管理系统
  • 公司域名是什么意思唐山seo
  • 网站建设mvc三层框架图希爱力
  • 网站链接做app产品优化是什么意思
  • 做网站公司 陕西渭南网站排名优化价格
  • 兰州企业网站网络推广公司收费标准
  • 做动画的网站有哪些宁波seo超级外链工具
  • 手机网站制作电话河南做网站优化
  • 房地产销售年终总结厦门网站快速排名优化
  • 管理网站建设源代码程序属于免费的网络营销方式
  • 江苏城乡建设学院网站seo和sem是什么意思啊
  • 网站目录权限设置今日头条权重查询
  • 微信做网站代购网络广告营销对应案例
  • 网站建设创意公司seo主要优化
  • 凡科网建站怎么样国内网络推广渠道
  • wordpress 分类合并网站搜索引擎优化工具
  • 舟山做网站谷歌seo搜索引擎下载
  • 大连网站制作.net购物网站有哪些
  • 手机企业网站正规seo排名公司
  • 物流企业网站建设福州短视频seo网站
  • 西安制作网站软件域名收录提交入口
  • 网站建设培训公司设计网络营销方案
  • 教人做美食的网站网络营销服务的特点有哪些
  • 企业网站自己怎么做廊坊百度seo公司
  • 做语文题的网站广州网站营销优化qq
  • 中山网站建设文化价格百度小说风云榜排名
  • 做商城网站哪里好陕西网络营销优化公司
  • 餐饮店设计哪家好西安网站优化推广方案