首页 > 编程语言 >java实现dwg转pdf

java实现dwg转pdf

时间:2023-06-12 16:34:38浏览次数:45  
标签:java jar dwg aspose pdf com cad


提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


文章目录

  • 前言
  • 一、无奈选择第二种
  • 二、jar引入
  • 1.jar地址
  • 2.使用jar,完成dwg转为pdf
  • 总结



前言

由于公司需要最近研究一个cad文件需要在浏览器中展示,经过研究发现大致有两种方式:
1 将.dwg转换为 vds文件,就可以在web端展示
2 比较low,将dwg转为pdf然后在web端展示
3 将.dwg文件直接交给前端,前端通过h5等其他控件集成,实现展示


一、无奈选择第二种

由于第一种公司没有先例(没法复制粘贴),项目催得紧,就开始研究后端展示;也就是将dwg转换为pdf

二、jar引入

1.jar地址

网上有很多,但是都没用,最终在这个地址找到了库 aspose库

https://releases.aspose.com/java/repo/com/aspose/

java实现dwg转pdf_前端


可以说各种包都有了,算是全了,各种文档的格式转换,直接下载吧

2.使用jar,完成dwg转为pdf

由于jar直接引入pom无法使用,所以只能手动搞
1 引入pom

<dependency>
            <groupId>com.aspose</groupId>
            <artifactId>aspose-cad</artifactId>
            <version>21.8</version>
        </dependency>

2 找到本地maven仓库,自建文件夹,并下载相应文件,粘贴到正确的仓库路径中

aspose-cad-21.8.jar

aspose-cad-21.8.pom

java实现dwg转pdf_java_02


这样就完毕了,跟正常能下载的jar使用没有区别了

3 使用 亲测可以正常转成pdf

代码如下(示例):

import com.aspose.cad.Color;
import com.aspose.cad.Image;
import com.aspose.cad.imageoptions.CadRasterizationOptions;
import com.aspose.cad.imageoptions.PdfOptions;

public class DwgToPdf {

    public static void main(String[] args) {

        DWGFileToPDF("C:\\Users\\DELL\\Downloads\\dwg\\demo4.dwg", "C:\\Users\\DELL\\Downloads\\dwg\\demo4.pdf");

    }


    /**
     * @param srcFile 选择dwg文件路径
     * @param dataDir 保存文件路径
     */
    public static void DWGFileToPDF(String srcFile, String dataDir) {

        Image objImage = Image.load(srcFile);
        CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions();
        rasterizationOptions.setBackgroundColor(Color.getWhite());
        rasterizationOptions.setPageWidth(1600);
        rasterizationOptions.setPageHeight(1600);

        // Create an instance of PdfOptions
        PdfOptions pdfOptions = new PdfOptions();
        // Set the VectorRasterizationOptions property
        pdfOptions.setVectorRasterizationOptions(rasterizationOptions);
        // Export the DWG to PDF
        objImage.save(dataDir, pdfOptions);
    }


}

但是!!! 里面一些特殊字符,搞不定 。

java实现dwg转pdf_jar_03


总结

不知道为啥,这个aspose的相关jar无法通过pom引入,就算仓库源中加入了它也不行,只能如此手动搞;

虽然转成了pdf,但是里面内容不完美~

最终发现并不是我这种转换方式有问题,是给我的源文件dwg格式有问题,后来经过正确格式的验证,发现转换很完美;

java实现dwg转pdf_java_04

java实现dwg转pdf_pdf_05


标签:java,jar,dwg,aspose,pdf,com,cad
From: https://blog.51cto.com/u_16158506/6463447

相关文章

  • 2020-07-03 java配置环境变量
    java开发,首先要安装JDK,并配置环境1 安装JDK(本人下载的安装包,无脑下一步,选择了下文件夹),安装完成截图如下2 开始配置环境变量右键我的电脑==高级系统设置==环境变量==系统变量中选择新建 (1)JAVA_HOME路径根据自己安装的写,路径到(bin 上一层)例如:笔者的jdk 的bin......
  • java的`pageContext`对象`attributes`的属性用法和原理
    在Java中,pageContext.setAttribute("name","liulongteng",SESSION)方法用于在页面上下文(pageContext)中设置属性。属性名为"name",属性值为"liulongteng",并且属性的作用范围为SESSION(会话级别)。在JSP中,页面上下文对象(pageContext)是一个重要的对象,它提供了对其他域(如请求、会......
  • 如何使用Hilla管理全栈Java开发
    关键要点Hilla是一个开源框架,有望显着提高Web应用程序的开发效率。它将SpringBootJava后端与响应式TypeScript前端集成在一起。 用户界面是使用Lit或React以及Vaadin的40多个开源UIWeb组件创建的。  Hilla通过类型安全的服务器通信和集成工具帮助更快地构......
  • 21基于java的旅游信息管理系统
    项目背景根据旅游行业的这种现状,提出解决问题的一个可行性方法,实现了旅游管理的网络化。项目总体介绍旅游系统设计分为前后网站和后台管理系统,功能点包含旅游景点信息分类展示、景点详情(地理位置、特色景点概述等)、下单预订等功能;角色分为管理员和普通用户。用户可以对旅游线......
  • 【浅谈JavaEE框架】Spring常用注解,自动扫描装配Bean
    1.引入context命名空间(在Spring的配置文件中)配置文件如下: Xml代码 1.xmlns:context="http://www.springframework.org/schema/context"2.http://www.springframework.org/schema/context3.http://www.springframework.org/schema/context/spring-context-2.5.xsd......
  • 23基于java教师科研项目管理系统
    背景及意义目前许多人仍将传统的纸质工具作为信息管理的主要工具,而网络技术的应用只是起到辅助作用。在对网络工具的认知程度上,较为传统的office软件等仍是人们使用的主要工具,而相对全面且专业的信息管理软件仍没有得到大多数人的了解或认可。本选题则旨在通过标签分类管理等方式......
  • java 去除字符串换行符
    *在正则表达式中\s表示所有的空格:匹配任何空白字符,包括空格、制表符、换页符等等。等价于[\f\n\r\t\v]。注意Unicode正则表达式会匹配全角空格符。*使用正则表达式,移除换行符(且不移除空格)**@paramoriginalStr原始字符串*@return移除换行\r、回车\n、制表\t符......
  • Java开发 - 让你少走弯路的Redis集群搭建
    前言前文中,我们已经对Redis的单节点哨兵的搭建方式做了演示和测试,相信大家已经了解了怎么操作,虽然是单节点,但基本已经满足了部分公司的日常需要,毕竟Redis集群不是什么项目都适用,用上了Redis,也未必需要使用哨兵,甚至集群。但今天,我们还是要把Redis哨兵集群的搭建方式给大家做个分享,万......
  • java 发送qq 纯文字邮件
    packageorg.zhiyi.config;importorg.springframework.beans.factory.annotation.Value;importorg.springframework.stereotype.Component;importjavax.mail.*;importjavax.mail.internet.InternetAddress;importjavax.mail.internet.MimeBodyPart;importjavax.......
  • Java Agent入门教程
    一、核心逻辑创建一个新的项目(or子module),然后我们新建一个SimpleAgent类:packagecom.raorao.text;importjava.lang.instrument.Instrumentation;/***@Description:启动类*@Author:cxw*@Date:2023/6/1214:18*@Version:1.0**/publicclassM......