没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:李显亮|2020-06-03 10:17:25.490|阅读 370 次
概述:将包含DISPLAYBARCODE字段的DOC,OOXML或RTF文档加载到Aspose.Words中,提供自定义条形码生成器的实现并保存为固定页面格式。本文将讲解如何操作。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
Aspose.Words for .NET是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。此外,API支持所有流行的Word处理文件格式,并允许将Word文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。
>>Aspose.Words for .NET已经更新至v20.5,提供显示/隐藏语法和拼写错误的功能,引入了可在文档内部使用水印的新帮助程序类,添加了为OOXML文档设置压缩级别的功能,点击下载体验
Aspose.Words具有用于生成自定义条形码的界面,这使得使用Aspose.Words和Aspose.BarCode一起使用非常容易,以在输出文档中呈现条形码图像。例如,您可以将包含DISPLAYBARCODE字段的DOC,OOXML或RTF文档加载到Aspose.Words中,提供自定义条形码生成器的实现并保存为固定页面格式,例如PDF,XPS等。典型的DISPLAYBARCODE字段具有以下语法:
{DISPLAYBARCODE“ SomeData” QR \ h 720}
下面是利用Aspose.BarCode API的示例代码生成器。本示例说明如何使用Aspose.Words和Aspose.BarCode API在Word文档中DISPLAYBARCODE字段的位置插入条形码图像。
// The path to the documents directory. string dataDir = RunExamples.GetDataDir_WorkingWithDocument(); Document doc = new Document(dataDir + @"GenerateACustomBarCodeImage.docx"); // Set custom barcode generator doc.FieldOptions.BarcodeGenerator = new CustomBarcodeGenerator(); doc.Save(dataDir + @"GenerateACustomBarCodeImage_out.pdf");
public class CustomBarcodeGenerator : IBarcodeGenerator { ////// Converts barcode image height from Word units to Aspose.BarCode units. /////////private static float ConvertSymbolHeight(string heightInTwipsString) { // Input value is in 1/1440 inches (twips) int heightInTwips = int.MinValue; int.TryParse(heightInTwipsString, out heightInTwips); if (heightInTwips == int.MinValue) throw new Exception("Error! Incorrect height - " + heightInTwipsString + "."); // Convert to mm return (float)(heightInTwips * 25.4 / 1440); } ////// Converts barcode image color from Word to Aspose.BarCode. /////////private static Color ConvertColor(string inputColor) { // Input should be from "0x000000" to "0xFFFFFF" int color = int.MinValue; int.TryParse(inputColor.Replace("0x", ""), out color); if (color == int.MinValue) throw new Exception("Error! Incorrect color - " + inputColor + "."); return Color.FromArgb(color >> 16, (color & 0xFF00) >> 8, color & 0xFF); // Backword conversion - //return string.Format("0x{0,6:X6}", mControl.ForeColor.ToArgb() & 0xFFFFFF); } ////// Converts bar code scaling factor from percents to float. /////////private static float ConvertScalingFactor(string scalingFactor) { bool isParsed = false; int percents = int.MinValue; int.TryParse(scalingFactor, out percents); if (percents != int.MinValue) { if (percents >= 10 && percents <= 10000) isParsed = true; } if (!isParsed) throw new Exception("Error! Incorrect scaling factor - " + scalingFactor + "."); return percents / 100.0f; } ////// Implementation of the GetBarCodeImage() method for IBarCodeGenerator interface. /////////public Image GetBarcodeImage(Fields.BarcodeParameters parameters) { if (parameters.BarcodeType == null || parameters.BarcodeValue == null) return null; string type = parameters.BarcodeType.ToUpper(); var encodeType = EncodeTypes.None; switch (type) { case "QR": encodeType = EncodeTypes.QR; break; case "CODE128": encodeType = EncodeTypes.Code128; break; case "CODE39": encodeType = EncodeTypes.Code39Standard; break; case "EAN8": encodeType = EncodeTypes.EAN8; break; case "EAN13": encodeType = EncodeTypes.EAN13; break; case "UPCA": encodeType = EncodeTypes.UPCA; break; case "UPCE": encodeType = EncodeTypes.UPCE; break; case "ITF14": encodeType = EncodeTypes.ITF14; break; case "CASE": encodeType = EncodeTypes.None; break; } if (encodeType == EncodeTypes.None) return null; BarcodeGenerator generator = new BarcodeGenerator(encodeType); generator.CodeText = parameters.BarcodeValue; if (encodeType == EncodeTypes.QR) generator.Parameters.Barcode.CodeTextParameters.TwoDDisplayText = parameters.BarcodeValue; if (parameters.ForegroundColor != null) generator.Parameters.Barcode.BarColor = ConvertColor(parameters.ForegroundColor); if (parameters.BackgroundColor != null) generator.Parameters.BackColor = ConvertColor(parameters.BackgroundColor); if (parameters.SymbolHeight != null) { generator.Parameters.ImageHeight.Millimeters = ConvertSymbolHeight(parameters.SymbolHeight); generator.Parameters.AutoSizeMode = AutoSizeMode.Nearest; } generator.Parameters.Barcode.CodeTextParameters.Location = CodeLocation.None; if (parameters.DisplayText) generator.Parameters.Barcode.CodeTextParameters.Location = CodeLocation.Below; generator.Parameters.CaptionAbove.Text = ""; const float scale = 1.0f; // Empiric scaling factor for converting Word barcode to Aspose.BarCode float xdim = 1.0f; if (encodeType == EncodeTypes.QR) { generator.Parameters.AutoSizeMode = AutoSizeMode.Nearest; generator.Parameters.ImageWidth.Millimeters *= scale; generator.Parameters.ImageHeight.Millimeters = generator.Parameters.ImageWidth.Millimeters; xdim = generator.Parameters.ImageHeight.Millimeters / 25; generator.Parameters.Barcode.XDimension.Millimeters = generator.Parameters.Barcode.BarHeight.Millimeters = xdim; } if (parameters.ScalingFactor != null) { float scalingFactor = ConvertScalingFactor(parameters.ScalingFactor); generator.Parameters.ImageHeight.Millimeters *= scalingFactor; if (encodeType == EncodeTypes.QR) { generator.Parameters.ImageWidth.Millimeters = generator.Parameters.ImageHeight.Millimeters; generator.Parameters.Barcode.XDimension.Millimeters = generator.Parameters.Barcode.BarHeight.Millimeters = xdim * scalingFactor; } generator.Parameters.AutoSizeMode = AutoSizeMode.Nearest; } return generator.GenerateBarCodeImage(); } public Image GetOldBarcodeImage(Fields.BarcodeParameters parameters) { throw new NotImplementedException(); } }
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
在许多企业应用程序中,从 Visio 文件读取形状数据是一项常见需求,因为这些应用程序中的图表都包含有意义的元数据。本教程将借助Aspose.Diagram,以清晰实用的方式指导您使用 C# 读取形状数据。
PDF 的页面大小决定了其内容的显示、打印或处理方式。在准备打印、转换格式或标准化布局时,我们通常需要更改PDF文档的纸张大小。在本教程中,您将学习如何使用 Java 编辑任何 PDF 文件的页面大小。我们将通过完整的代码示例,逐步指导您完成操作。
本文主要介绍如何使用DevExpress WPF Grid控件中的节点(Nodes)概述,欢迎下载最新版组件体验!
本教程提供DevExpress WinFormsWinExplorer视图的基本信息,欢迎下载最新版组件体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号