提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|产品更新|编辑:李显亮|2020-05-15 09:55:53.100|阅读 264 次
概述:PDF文件格式转换处理控件Spire.PDF Java和.NET版5月同步更新,一起来看看有哪些新增功能吧!
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
近日,我们更新了.NET平台Spire.PDF v6.5.6 2020年5月更新,该版本支持添加和转换SVG图片到PDF,并修复了将PDF转换为Word、提取文本以及填充TextBoxField时出现的一些问题。
与此同时Java平台Spire.PDF迎来了5月的又一次更新,该版本支持PDF签名添加时间戳、设置在PDF页面是否显示签名信息以及绘制箭头、云朵、椭圆、矩形和连接线条形状等标记。另外,也修复了在提取PDF中的文本、将PDF转为图片时出现的一些问题,具体更新情况如下:
Spire.PDF For .NET更新内容
新功能
PdfDocument doc1 = new PdfDocument(); doc1.LoadFromSvg(inputFile_svg); PdfDocument doc2 = new PdfDocument(); doc2.LoadFromFile(inputFile_pdf); PdfTemplate template = doc1.Pages[0].CreateTemplate(); template.Draw(doc2.Pages[0].Canvas, new PointF()); doc2.SaveToFile(outputFile, FileFormat.PDF);
PdfDocument doc = new PdfDocument(); doc.LoadFromSvg("test.svg"); doc.SaveToFile("result.pdf", FileFormat.PDF);
Bug修复
Spire.PDF For Java更新内容
新功能
//配置时间戳服务器 String url = "//freetsa.org/tsr"; signature.configureTimestamp(url);
signature.addShowConfigureText(SignatureConfigureText.Contact_Info);//显示Contact_Info(默认显示所有) signature.removeShowConfigureText(SignatureConfigureText.Contact_Info);//不显示Contact_Info signature.setShowConfigureText(EnumSet.of(SignatureConfigureText.Contact_Info));//只显示Contact_Info
PdfDocument pdf = new PdfDocument(); PdfPageBase page = pdf.getPages().add(); //箭头 String text1 = "this is Arrow annotation"; PdfFont font = new PdfFont(PdfFontFamily.Helvetica, 20); PdfSolidBrush brush1 = new PdfSolidBrush(new PdfRGBColor(Color.blue)); PdfStringFormat leftAlignment = new PdfStringFormat(PdfTextAlignment.Left, PdfVerticalAlignment.Middle); page.getCanvas().drawString(text1, font, brush1, 50, 50, leftAlignment); Dimension2D dimension = font.measureString(text1); Rectangle2D.Float bounds = new Rectangle2D.Float(50, 50, (float) dimension.getWidth(), (float) dimension.getHeight()); int[] linePoints = new int[]{92, (int) (page.getSize().getHeight() - bounds.getY() - 60), (int) (92 + bounds.getWidth()), (int) (page.getSize().getHeight() - bounds.getY() - 60)}; PdfLineAnnotation annotation1 = new PdfLineAnnotation(linePoints, "LineArrow annotation test"); annotation1.setBeginLineStyle(PdfLineEndingStyle.OpenArrow); annotation1.setEndLineStyle(PdfLineEndingStyle.OpenArrow); annotation1.setBackColor(new PdfRGBColor(Color.red)); annotation1.setCaptionType(PdfLineCaptionType.Inline); annotation1.setLineCaption(true); ((PdfNewPage) page).getAnnotations().add(annotation1); //云朵 String text2 = "this is Cloud annotation"; PdfBrush brush2 = PdfBrushes.getBlue(); page.getCanvas().drawString(text2, font, brush2, 50, 200); Point2D point2D[] = new Point2D[]{ new Point2D.Float(30, 200), new Point2D.Float(300, 180), new Point2D.Float(300, 250), new Point2D.Float(30, 220), new Point2D.Float(30, 200) }; PdfPolygonAnnotation annotation2 = new PdfPolygonAnnotation(page, point2D); annotation2.setText("PolygonCloud annotation test"); annotation2.setAuthor("E-iceblue"); annotation2.setSubject("test"); annotation2.setModifiedDate(new Date()); annotation2.setBorderEffect(PdfBorderEffect.Big_Cloud); annotation2.setLocation(new Point2D.Float(190, 230)); annotation2.setColor(new PdfRGBColor(Color.GRAY)); ((PdfNewPage) page).getAnnotations().add(annotation2); //椭圆 String text3 = "this is Circle annotation"; PdfBrush brush3 = PdfBrushes.getBlue(); Dimension2D dimension2D = font.measureString(text3); dimension2D.setSize(dimension2D.getWidth() + 35, dimension2D.getHeight() + 20); page.getCanvas().drawString(text3, font, brush3, 50, 300); Rectangle2D.Float annotationBounds1 = new Rectangle2D.Float(); annotationBounds1.setFrame(new Point2D.Float(36, (float) 290), dimension2D); PdfSquareAndCircleAnnotation annotation3 = new PdfSquareAndCircleAnnotation(annotationBounds1); annotation3.setSubType(PdfSquareAndCircleAnnotationType.Circle); float[] f1 = {0.5f, 0.5f, 0.5f, 0.5f}; annotation3.setRectangularDifferenceArray(f1); annotation3.setText("Circle annotation test"); annotation3.setColor(new PdfRGBColor(Color.RED)); annotation3.setModifiedDate(new Date()); annotation3.setName("*****"); LineBorder border1 = new LineBorder(); border1.setBorderWidth(2); annotation3.setLineBorder(border1); ((PdfNewPage) page).getAnnotations().add(annotation3); //矩形 String text4 = "this is Square annotation"; PdfBrush brush4 = PdfBrushes.getBlue(); Dimension2D dimension4 = font.measureString(text4); dimension2D.setSize(dimension2D.getWidth() + 80, dimension2D.getHeight() + 20); page.getCanvas().drawString(text4, font, brush4, 50, 400); Rectangle2D.Float annotationBounds2 = new Rectangle2D.Float(); annotationBounds2.setFrame(new Point2D.Float(30, (float) 400), dimension4); PdfSquareAndCircleAnnotation annotation4 = new PdfSquareAndCircleAnnotation(annotationBounds2); annotation4.setSubType(PdfSquareAndCircleAnnotationType.Square); float[] f2 = {0.5f, 0.5f, 0.5f, 0.5f}; annotation4.setRectangularDifferenceArray(f2); annotation4.setText("Square annotation test"); annotation4.setColor(new PdfRGBColor(Color.RED)); annotation4.setModifiedDate(new Date()); annotation4.setName("*****"); LineBorder border2 = new LineBorder(); border2.setBorderWidth(2); annotation4.setLineBorder(border2); ((PdfNewPage) page).getAnnotations().add(annotation4); //连接线 String text5 = "this is Connected lines annotation"; PdfBrush brush5 = PdfBrushes.getBlue(); page.getCanvas().drawString(text5, font, brush5, 50, 465); Point2D pointzd[] = new Point2D[]{ new Point2D.Float(30, 470), new Point2D.Float(300, 450), new Point2D.Float(300, 520), new Point2D.Float(30, 490), new Point2D.Float(30, 470) }; PdfPolygonAnnotation annotation5 = new PdfPolygonAnnotation(page, pointzd); annotation5.setText("Connected Lines annotation test"); annotation5.setAuthor("冰蓝"); annotation5.setSubject("test"); annotation5.setModifiedDate(new Date()); annotation5.setBorderEffect(PdfBorderEffect.None); annotation5.setLocation(new Point2D.Float(190, 230)); annotation5.setColor(new PdfRGBColor(Color.GRAY)); ((PdfNewPage) page).getAnnotations().add(annotation5); pdf.saveToFile("output/annotation.pdf");
for (PdfPageBase page : (Iterable) doc.getPages()) { content.append(page.extractText(true,true,true)); }
Bug修复
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
知名C/C++开发工具CLion全新发布v2024.3,新版本新语言引擎有显著改进等,欢迎下载新版体验!
强大的VS插件CodeRush已正式发布v24.2.3,新版本现在可以运行xUnit.Net v3测试等,欢迎下载最新版体验!
Spire.PDF 10.12.4 最新版本支持在进行多页打印时设置自动旋转方向。同时,一些已知问题也在本次更新中被成功修复,例如打印 PDF 文档时内容丢失的问题,欢迎下载体验~
日程安排控件dhtmlxScheduler v7.2全新发布,新版本增强并增加了编辑、修改等多个操作体验,欢迎下载最新版试用~
Spire.PDF for .NET是独立的PDF控件,用于.NET程序中创建、编辑和操作PDF文档
Spire.PDF for Java独立专业的Java PDF组件,覆盖PDF文档生成、处理、转换等功能。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢