XPS文件转换为PDF不再愁!全新XPS/EPS文档处理神器Aspose.Page来啦!

XPS文件转换为PDF不再愁!全新XPS/EPS文档处理神器Aspose.Page来啦!近月,针对Aspose.XPS和Aspose.EPS做了一些改动,将其合并成Aspose.Page,同样可以使用现有许可证访问这两种产品的所有功能。Aspose.Page(点击下载)是集成On-PremiseAPI,以.NET和Java应用程序中创建,操作或转换XPS,EPS和PS文件。或使用免费应用程序即时查看或转换文件。功能亮点Aspose.Page允许文档转换。例如,您可以将XPS…

大家好,又见面了,我是你们的朋友全栈君。

近月,针对Aspose.XPS和Aspose.EPS做了一些改动,将其合并成Aspose.Page,同样可以使用现有许可证访问这两种产品的所有功能。

Aspose.Page (点击下载)是集成On-Premise API,以.NET和Java应用程序中创建,操作或转换XPS,EPS和PS文件。或使用免费应用程序即时查看或转换文件。

功能亮点

Aspose.Page允许文档转换。例如,您可以将XPS转换为PDF。让我们试试转换的例子。

.NET

//文档目录的路径。
string dataDir = RunExamples.GetDataDir_WorkingWithDocumentConversion();
//初始化PDF输出流
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "input.xps", System.IO.FileMode.Create, System.IO.FileAccess.Write))
//初始化XPS输入流
using (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "XPStoPDF.pdf", System.IO.FileMode.Open, System.IO.FileAccess.Read))
{
    //从流中加载XPS文档
    XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions());
    //或直接从文件加载XPS文档。那么不需要xpsStream。
    // XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions());

    //使用必要参数初始化选项对象。
    Aspose.Page.Xps.Presentation.Pdf.PdfSaveOptions options = new Aspose.Page.Xps.Presentation.Pdf.PdfSaveOptions()
    {
        JpegQualityLevel = 100,
        ImageCompression = Aspose.Page.Xps.Presentation.Pdf.PdfImageCompression.Jpeg,
        TextCompression = Aspose.Page.Xps.Presentation.Pdf.PdfTextCompression.Flate,
        PageNumbers = new int[] { 1, 2, 6 }
    };

    //为PDF格式创建渲染设备
    Aspose.Page.Xps.Presentation.Pdf.PdfDevice device = new Aspose.Page.Xps.Presentation.Pdf.PdfDevice(pdfStream);

    document.Save(device, options);
}

Java

// 文档目录的路径。
String dataDir = Utils.getDataDir();
//初始化PDF输出流
FileOutputStream pdfStream = new FileOutputStream(dataDir + "XPStoPDF.pdf");

//加载XPS文档
XpsDocument document = new XpsDocument(dataDir + "input.xps");

//使用必要参数初始化选项对象。
com.aspose.xps.rendering.PdfSaveOptions options = new com.aspose.xps.rendering.PdfSaveOptions();
options.setJpegQualityLevel(100);
options.setImageCompression(com.aspose.xps.rendering.PdfImageCompression.Jpeg);
options.setTextCompression(com.aspose.xps.rendering.PdfTextCompression.Flate);
options.setPageNumbers(new int[] { 1, 2, 6 });

//为PDF格式创建渲染设备
com.aspose.xps.rendering.PdfDevice device = new com.aspose.xps.rendering.PdfDevice(pdfStream);

document.save(device, options);

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/136199.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 使用Chrome Frame插件解决IE浏览器兼容问题

    使用Chrome Frame插件解决IE浏览器兼容问题时不时碰到客户的浏览器为IE7,IE8,甚至IE6的,他们不能升级浏览器,因为升级后,机器中其它的重要系统无法访问。而新系统的前端又需要浏览器的支持,比如H5,SVG等等,换框架结构,成本无疑是巨大的,而且风险不可控。针对此种情况,安装GoogleFrame是相对非常完美的解决方案,不要求升级浏览器,只安装一个插件,且对原系统无任何干扰,新系统也可根据情况对是否使用GoogleFrame插件进…

    2022年7月16日
    16
  • javascript 页面后退并刷新

    javascript 页面后退并刷新javascript做页面后退常使用的方法是window.history.back();这样确实可以做到后退的功能,但是项目中,常常并不只是后退就行完成需求,往往需要在后退的同时,刷新后退的页面信息,比如后退到首页同时刷新首页的最新数据,这样的需求通过上面这种方法就没法满足了,为了实现这个需求,我们需要使用到document.referrer这个方法可以取到上一个页面的具体路径

    2022年7月25日
    12
  • 一看就懂的 startActivityForResult(Intent intent, int requestCode)[通俗易懂]

    一看就懂的 startActivityForResult(Intent intent, int requestCode)[通俗易懂]  关于startActivityForResultstartActivityForResult(Intentintent,intrequestCode)老是遗忘尤其其中的几个参数。老是傻傻分不清。所以今天就简单的记录下来   startActivityForResultstartActivityForResult(Intentintent,intrequestCode)。…

    2022年7月11日
    18
  • 2018年系统架构设计师上午真题

    2018年系统架构设计师上午真题●在磁盘调度管理中,应先进行移臂调度,再进行旋转调度。假设磁盘移动臂位于21号柱面上,进程的请求序列如下表所示。如果采用最短移臂调度算法,那么系统的响应序列应为( )。(1)A.②⑧③④⑤①⑦⑥⑨B.②③⑧④⑥⑨①⑤⑦C.①②③④⑤⑥⑦⑧⑨D.②⑧③⑤⑦①④⑥⑨●某计算机系统中的进程管理采用三态模型,那么下图所示的PCB(进程控制块)的组织方式采用( ),图中( )。…

    2022年6月1日
    50
  • 关于java二维数组长度(length)的知识

    关于java二维数组长度(length)的知识二话不说,呈上代码//定义一个整型数组:3行4列inta[][]=newint[3][4];//获取行数—3行intlenY=a.length;//获取列数—4列intlenX=a[0].length;其实很好理解,因为二维数组可以理解为是一维数组,只不过他的各处的元素是特殊元素—–一维数组a[0][0]a[0][1]a[0][2]…

    2022年6月13日
    85
  • Python fillna_pandas fillna 指定列

    Python fillna_pandas fillna 指定列对我来说工作:df.ix[df[‘Type’]==’Dog’,’Killed’]=df.ix[df[‘Type’]==’Dog’,’Killed’].fillna(2.25)print(df)TypeKilledSurvived0Dog5.0021Dog3.0042Cat1.0073Dog2.2534cowNaN2如果系列需要fillna–因…

    2022年8月12日
    17

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号