网站首页 > 技术文章 正文
Aspose.Words无需Microsoft Word也可在任何平台上满足Word文档的一切操作需求。本文将与大家分享Xamarin和.NET Standard 2.0 API的差异和局限。
Aspose.Words for .NET官方最新版免费下载试用,历史版本下载,在线文档和帮助文件下载-慧都网
Xamarin平台注释
Xamarin DLL总是使用Xamarin.Android,Xamarin.iOS和Xamarin.Mac最新且稳定的版本构建。如果你在Xamarin应用程序中使用Aspose.Words的时候遇到问题,请确保安装了最新的Xamarin版本。有时Aspose.Words使用最新Xamarin版本构建的Xamarin DLL并不适用于旧版本的Xamarin。
与.NET API相比,.NET Standard 2.0,Xamarin.Android,Xamarin.iOS和Xamarin.Mac API的局限性
1.Document.Print方法在.NET Standard 2.0,Xamarin.Android,Xamarin.iOS和Xamarin.Mac API中不可用。
2.未提供保存到用户浏览器功能,即Document.Save(HttpResponse,string,ContentDescription,SaveOptions)重载不可用。
3.由于目标操作系统(Android,MacOS,Linux等)中缺少Windows字体,文档中使用的字体将替换为可用字体,这可能导致文档布局不准确,将文档呈现为固定页面格式(如图像,PDF,XPS)等等。
公共API差异
1.在Aspose.Words for .NET Standard 2.0中,使用Xamarin.Android,Xamarin.iOS和Xamarin.Mac SkiaSharp.SKBitmap对象代替.NET API中的System.Drawing.Bitmap。受影响的API列表:
- Aspose.Words.DocumentBuilder.InsertImage
- Aspose.Words.DocumentBuilder.InsertOleObject
- Aspose.Words.Drawing.ImageData.SetImage
- Aspose.Words.Drawing.ImageData.ToImage
- Aspose.Words.Fields.IBarcodeGenerator.GetBarcodeImage
- Aspose.Words.Fields.IBarcodeGenerator.GetOldBarcodeImage
- Aspose.Words.MailMerging.ImageFieldMergingArgs.Image
.NET
// Use System.Drawing.Bitmap.
using (System.Drawing.Bitmap image = new System.Drawing.Bitmap(gTestImagePath))
{
builder.InsertImage(image);
}
.NET Standard 2.0, Xamarin.Android, Xamarin.iOS and Xamarin.Mac
// Insert image into the document from SkiaSharp.SKBitmap object.
using (SkiaSharp.SKBitmap bitmap = SkiaSharp.SKBitmap.Decode(gTestImagePath))
{
builder.InsertImage(bitmap);
}
2.在Aspose.Words for .NET Standard 2.0中,使用Xamarin.Android,Xamarin.iOS和Xamarin.Mac SkiaSharp.SKCanvas对象代替.NET API中使用的System.Drawing.Graphics对象。受影响的API列表:
- Aspose.Words.Document.RenderToSize
- Aspose.Words.Document.RenderToScale
- Aspose.Words.Rendering.NodeRendererBase.RenderToSize
- Aspose.Words.Rendering.NodeRendererBase.RenderToScale
.NET
Document doc = new Document(gTestDocumentPath);
// Render the first page to System.Drawing.Graphics
using (System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(1000, 1000))
{
using (System.Drawing.Graphics gr = System.Drawing.Graphics.FromImage(bitmap))
{
// Apply required transformations to the graphics, rotation for example.
gr.RotateTransform(45);
doc.RenderToSize(0, gr, 0, 0, bitmap.Width, bitmap.Height);
}
// Save output to file.
bitmap.Save(@"C:\Temp\out.png", System.Drawing.Imaging.ImageFormat.Png);
}
.NET Standard 2.0, Xamarin.Android, Xamarin.iOS and Xamarin.Mac
Document doc = new Document(gTestDocumentPath);
// Render the first page to SkiaSharp.SKCanvas
using (SkiaSharp.SKBitmap bitmap = new SkiaSharp.SKBitmap(1000, 1000))
{
using (SkiaSharp.SKCanvas canvas = new SkiaSharp.SKCanvas(bitmap))
{
// Apply required transformations to the canvas, rotation for example.
canvas.RotateDegrees(45);
doc.RotateDegrees(0, canvas, 0, 0, bitmap.Width, bitmap.Height);
}
// Save output to file.
using (SkiaSharp.SKFileWStream fs = new SkiaSharp.SKFileWStream(gOutPath+ "RenderToSize_Out.png"))
{
bitmap.Encode(fs, SkiaSharp.SKEncodedImageFormat.Png, 100);
}
}
Xamarin.Android附加要求
1.要正常工作,Aspose.Words的Xamarin.Android API需要Encodings支持。在“Release”模式下运行Xamarin.Android应用程序时,需要添加其他支持的编码。请注意,在“Debug”模式下,可以在没有这些选项的情况下工作。
2.如果你想使用Metered许可证,则需要允许你的应用程序访问Internet。
Xamarin.iOS附加要求
要正常工作Aspose.Words的Xamarin.iOS API需要Encodings支持。当你运行Xamarin.iOS应用程序时,需要添加其他支持的编码。
Xamarin.Mac附加要求
1.要正常工作,Aspose.Words的Xamarin.Mac API需要Encodings支持。当您运行Xamarin.Mac应用程序时,需要添加其他支持的编码。
猜你喜欢
- 2024-10-26 Aspose.Total 最新试用版大放送,更有海量资源等你来拿
- 2024-10-26 JAVA操作office工具 java 操作excel的工具
- 2024-10-26 开年钜惠|ASPOSE、Spire、Text Control文档管理产品超低折扣热销领跑
- 2024-10-26 看Aspose帮助知名企业实现邮件附件在线转换,提升邮件处理效率
- 2024-10-26 PDF开发工具Aspose.PDF功能推荐——在.NET中将PDF转换为HTML
- 2024-10-26 文档在线预览新版 总结篇 world在线预览
- 2024-10-26 在 Python 中将 HTML 转换为 PNG、JPEG、BMP、GIF 或 TIFF 图像
- 2024-10-26 送您一份文档管理控件Aspose&Spire系列中文教程!请查收
- 2024-10-26 文档在线预览(四) 总结篇 office在线预览解决方案
- 2024-10-26 借助Spire.doc,轻松实现「财务系统」报告转换、预览下载功能
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)