IDEA中怎么把jar包导入项目中

news2024/9/29 9:26:41

大作业让生成一个pdf,查找资料发现可以通过pdfbo相关函数调用,但本地缺少这个文件,以这个文件为例子。

一、下载

下载去Apache上下载,Apache PDFBox | Download,,结合自己的java版本啥的下载就行。

我是jdk1.8,我下的是2.0.28,地址:Apache Downloads。缺什么库上apache上下载即可。

二、部署

进入IDEA,右键根目录,可以创建一个文件夹lib专门用来存放jar包。

 把下载的jar文件存在lib下,一开始左边是没有小三角的

 然后点击左上角File,再点击project structure

 点击Module是,再点击Dependencies,再点击右边的 + 号;点JARS or…那个,准备导入jar包

 导入jar包选择好自己文件的路径,选中lib下的jar。

 加载完成后勾选上,再点击右下角apply,最后再点ok退出即可。

 三、测试

可以写个代码测试一下

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.font.PDType1Font;

import java.io.IOException;

public class test_pdf {

    public static void main(String[] args) {
        String storyboardContent = "This is a sample storyboard content.";

        try {
            // 创建PDF文档
            PDDocument document = new PDDocument();
            PDPage page = new PDPage();
            document.addPage(page);

            // 创建页面内容流
            PDPageContentStream contentStream = new PDPageContentStream(document, page);

            // 设置字体和字号
            contentStream.setFont(PDType1Font.HELVETICA_BOLD, 12);

            // 添加文本内容到页面
            contentStream.beginText();
            contentStream.newLineAtOffset(25, 700); // 设置文本起始位置
            contentStream.showText(storyboardContent);
            contentStream.endText();

            // 关闭内容流
            contentStream.close();

            // 保存PDF文件
            document.save("storyboard.pdf");

            // 关闭PDF文档
            document.close();

            System.out.println("PDF created successfully.");

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

 成功生成了(我拖桌面上了),说明没什么问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/545818.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java中使用java8的stream报错java.lang.IllegalStateException: Duplicate key

一、java.lang.IllegalStateException: Duplicate key报错的原因 map的key重复导致的报错Duplicate key 二、java.lang.IllegalStateException: Duplicate key报错的解决方式 list.stream().collect()就是把一个List的查询数据集合转为一个Map,java8的stream方式…

UE5 C++类如何打印日志?

UE5 插件开发指南 前言0. 什么是日志?1.在哪里可以查看日志呢?2. 日志有哪些等级?3. 如何打印到屏幕上?4. 如何更专业的记录日志?4.0 UE_LOG宏语法4.1 自定义日志类别4.2 插件中的日志类别定义前言 在回答这个问题之前,先要给萌新科普一下:什么是日志?以及,在哪里查看日…

自己动手写一个加载器

前言 当在 linux 命令行中 ./ 运行一个程序时,实际上操作系统会调用加载器将这个程序加载到内存中去执行。为了探究加载器的行为,今天我们就自己动手写一个简单的加载器。 工作原理 加载器的工作原理: 从磁盘读取 bin 文件到内存&#xf…

【Python html常用标签】零基础也能轻松掌握的学习路线与参考资料

学习路线 要深入了解Python html常用标签,需要遵循以下学习路线: 1.1 HTML基础知识:了解HTML语言的起源,HTML文档结构和基本标签。学习HTML标签包含但不限于文本标签,图像标签,链接标签,表格标…

canvas的HTML和JavaScript

文章目录 一、canvas元素二、前期准备1. 坐标系2. canvas属性① 获取canvas元素② 把canvas实例化为2D③ 设置路径颜色④ 设置路径宽度⑤ 设置路径末端形状⑥ 设置路径相连时的相连部分形状⑦ 透明度⑦ 虚线 三、绘制图行1. 绘制线段2. 绘制三角形① 空心三角形② 实心三角形 3…

大学四年,我建议你这么学网络安全

在所有关注我的朋友中,大致分为两类,一类是社会人士,有的是安全老手,有的是其它工作但对安全感兴趣的朋友,另一类应该就是大学生了。 尤其随着国家的号召和知识的普及,越来越多的人开始对网络安全感兴趣&a…

ffmpeg日记1011-过滤器-语法高阶,逻辑,函数使用

Author: wencoo Blog:https://wencoo.blog.csdn.net/ Date: 19/05/2023 Details:文章目录 摘要什么是时间线编辑哪些filter支持时间线编辑时间线编辑中,可以使用哪些预设函数常用预设函数功能即使用方法if(x, y)if(x, y, z)gt(x, y)gte(x, y)lt(x, y)lte…

AHB-to-APB Bridge——04apb_tran、apb_if、apb_drv、mem、apb_mon、apb_agt

apb_if放入所有apb需要的信号,以及cb ifndef APB_IF_SV define APB_IF_SVinterface apb_if;logic pclk;logic prst;logic penable;logic …

C++的stack和queue

stack和queue 1.stackstack的模拟实现 2.queuequeue的模拟实现 3.容器适配器3.1. 什么是容器适配器3.2. STL标准库中stack和queue的底层结构3.3. deque的简单介绍3.3.1. deque原理介绍3.3.2. deque的缺陷3.3.3. 为什么选择deque作为stack和queue的底层默认容器 1.stack stack的…

深度学习-第T7周——咖啡豆识别

深度学习-第T7周——咖啡豆识别 深度学习-第T7周——咖啡豆识别一、前言二、我的环境三、前期工作1、导入数据集2、查看图片数目 四、数据预处理1、 加载数据1、设置图片格式2、划分训练集3、划分验证集4、查看标签 2、数据可视化3、检查数据4、配置数据集 五、搭建CNN网络六、…

Vue3+TS知识点补充

一、关于Ref 1.shallowRef() shallowRef 是 Vue 3 中新引入的响应式数据类型之一,它与 ref 类型非常相似,但是有一些不同点。 不同的是,shallowRef 只会对其包装的对象进行浅层次的响应式处理,即如果这个对象的子属性发生改变&…

软件测试——黑盒测试

1.测试概述 1.1综述 本测试报告为计算机程序能力在线测评系统的黑盒测试,黑盒测试可以在不知道程序内部结构和代码的情况下进行,用来测试软件功能是否符合用户需求,是否达到用户预期目标,是否拥有较好的人机交互体验。 图1.1 黑…

media设备节点初始化与Video4Linux初始化

media设备节点初始化与Video4Linux初始化 文章目录 media设备节点初始化与Video4Linux初始化media设备节点初始化Video4Linux初始化 media设备节点初始化 media_devnode_init函数是一个内核初始化函数,用于在Linux内核启动期间进行设备节点初始化。 函数的主要作用…

复习:遥感图像解译复习整理

惭愧,这个课程从始自终就没有认真学过,一部分是因为自己的原因,另一部分也是因为自己的原因。因此,对于整理的资料有不足之处请指正。 另外,资料自word复制,没有时间整理博客的格式。 -- 2023年05月19日记…

深度学习训练营之Densenet网络

深度学习训练营 原文链接环境介绍前言设计理念网络结构实验结果和讨论pytorch实现DenseNet附录 原文链接 🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍦 参考文章:365天深度学习训练营-第J3周:Densenet网络学习&…

第一代AIGC硬件悄然爆发

文 | 智能相对论 作者 | 叶远风 看起来,这可能是一副正常的黑框眼镜,你戴上去彬彬有礼、斯斯文文; 实际上,它里边还装了一个“小伙伴”,你随时可以与它交流,谈天说地或者提出各种问题接受它的帮助&#x…

深度学习之构建MPL神经网络——泰坦尼克号乘客的生存分析

大家好,我是带我去滑雪! 本期使用泰坦尼克号数据集,该数据集的响应变量为乘客是生存还是死亡(survived,其中1表示生存,0表示死亡),特征变量有乘客舱位等级(pclass&#x…

广告投放的关键成功因素:广告归因与广告效果监测

在当今竞争激烈的市场环境中,广告归因和广告效果监测成为了广告投放中至关重要的环节。通过深入了解广告归因和广告效果监测的方法,企业可以更好地评估广告投放的成效,并做出精确的决策,以提高广告效果和最大化投资回报。 本文将带…

昆仑万维“勇闯”百模大战:一个“无懈可击”的商业故事话本?

文丨智能相对论 作者丨沈浪 新能源火了做新能源,元宇宙火了做元宇宙。 如果一个热点领域没有昆仑万维的身影,那一定是这个领域还不够“热”,爆不了。 但凡是热到爆的领域,昆仑万维虽迟但到。 不过,这样说可能有些…

【计算机网络基础】章节测试3 数据链路层

文章目录 判断题选择题辨析题应用题 判断题 相对于广域网而言,局域网的误码率较低。√ 交换机是依据IP地址来转发数据包的。 局域网使用集线器作为网络连接设备时,逻辑上是星型结构。 PPP协议应首先满足的需求是简单,以使得协议在实现的时…