前军教程网

中小站长与DIV+CSS网页布局开发技术人员的首选CSS学习平台

java把多张图片导入到PDF文件中

package com.mlh.utils;

import com.itextpdf.text.*;
import com.itextpdf.text.Font;
import com.itextpdf.text.Image;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfWriter;
import org.springframework.stereotype.Component;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.util.List;
import java.util.Map;

/**
 * 文件工具类
 */
@Component
public class FileUtils {

    /**
     * @param imagesUrlMapList 图片列表
     *                         imageUrl:图片全路径 imageName:图片名称
     */
    public static ByteArrayOutputStream imagesToPdf(List<Map<String, Object>> imagesUrlMapList) {
        // 创建一个document对象
        Document document = new Document();
        try {
            // 创建一个PdfWriter实例
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            PdfWriter.getInstance(document, baos);
            // 打开文档
            document.open();
            Rectangle a4Rectangle = PageSize.A4;
            // 设置中文字体
            String os = System.getProperty("os.name").toLowerCase();
            String fontPath = "";
            String fontName = "simsun";
            if (os.contains("win")) {
                // Windows系统字体路径
                fontPath = "C:\\Windows\\Fonts\\" + fontName + ".ttc";
            } else if (os.contains("mac")) {
                // macOS系统字体路径
                fontPath = "/Library/Fonts/" + fontName + ".ttc";
            } else if (os.contains("nix") || os.contains("nux") || os.contains("aix")) {
                // Linux系统字体路径
                fontPath = "/usr/share/fonts/" + fontName + ".ttc";
                // 检查是否存在,如果不存在,尝试 ~/.fonts/
                if (!new File(fontPath).exists()) {
                    fontPath = System.getProperty("user.home") + "/.fonts/" + fontName + ".ttc";
                }
            }

            File fontFile = new File(fontPath);
            if (fontFile.exists() && fontFile.canRead()) {
                fontPath = fontFile.getAbsolutePath() + ",0";
            }

            BaseFont baseFont = BaseFont.createFont(fontPath, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
            Font font = new Font(baseFont, 20, Font.BOLD);

            // 在文档中增加图片
            for (Map<String, Object> imageUrlMap : imagesUrlMapList) {
                String imageUrl = imageUrlMap.get("ImageUrl") + "";
                String imageName = imageUrlMap.get("ImageName") + "";
                Image img = Image.getInstance(imageUrl);
                // 设置图片居中
                img.setAlignment(Image.ALIGN_MIDDLE);
                // 图片等比缩放
                img.scaleToFit(a4Rectangle.getWidth() * 0.8F, a4Rectangle.getHeight() * 0.8F);
                // 设置纸张大小
                document.setPageSize(a4Rectangle);
                document.newPage();
                document.add(img);
                // 设置中文字体并居中显示
                Paragraph paragraph = new Paragraph(imageName, font);
                paragraph.setAlignment(Paragraph.ALIGN_CENTER);
                document.add(paragraph);
            }
            return baos;
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException("Failed to create PDF", e);
        } finally {
            // 关闭文档
            document.close();
        }
    }

}

word图文混排技巧,批量图片对齐调整,文字布局排版超轻松

Hello大家好,我是帮帮。今天跟大家分享一下word图文混排技巧,批量图片对齐调整,文字布局排版超轻松。

有个好消息!为了方便大家更快的掌握技巧,寻找捷径。请大家点击文章末尾的“了解更多”,在里面找到并关注我,里面有海量各类模板素材免费下载,我等着你噢^^<——非常重要!!!

メ大家请看范例图片,word文档图片混排,为了布局轻松常常采用文本框添加,方便对齐插入。メ

如何设置页面布局与设计以提升用户体验

页面怎么设置 (How to Set Up a Page)

在现代数字化时代,页面设置是一个至关重要的技能。无论是个人博客、商业网站还是学术论文,合理的页面设置都能提升内容的可读性和美观性。本文将详细探讨页面设置的各个方面,包括页面尺寸、边距、字体、行间距、段落格式以及如何在不同平台上进行设置。

一、页面尺寸 (Page Size)

页面尺寸是设置页面的第一步。不同的用途需要不同的页面尺寸。

微信小程序,多层view嵌套,如何实现垂直和水平居中

昨天被通知“软”裁员了,今天也没什么心情干活,毕竟自己不会愚蠢到“别人要杀你,你还帮对方磨刀”的地步。

之前做VC++和安卓JAVA的,没有做过CSS一类的页面布局,今天练手了一下微信小程序,发现一个奇怪的问题,在多层嵌套view下,并且width 和height都为100%时,用display:flex , align-items:center,都没法设置居中,最后通过设置父级View的

6条html和css的小结(html和css的作用)

1、list的ul的li的width一样时,

width要固定,还有高

2、制作滚动插件时,的结构

<div class=” body ”>

<div class=” prev ”></div>

<div class=” list ”> // width的值为滚动个li的宽度 或 n个里的宽度

<div class=” wrap ”> //width: 999999px;

Word图片二三事——高手图片排版技巧

在Word里,图片向来是一个麻烦的存在。

大小不统一,不好排版,还得调对齐,让人一个头两个大。今天呢,咱们就重点来说说Word图片两三事儿。

01 快速统一图片大小

首先是图片统一大小。文档插入图片的时候,不可能每张图片都一样大小的。有时候也会需要统一大一点、小一点,怎么快速统一大小呢?

解决Word文档中内容无法居中对齐的问题

前言

在编辑Word文档时,内容的对齐方式直接影响文档的排版效果和美观度。然而,有时您可能会发现某些内容无法正常居中对齐,无论是文本、图片还是表格。本文将介绍几种解决这些对齐问题的方法,并通过实际案例帮助您更好地掌握这些技巧。

Axure9.0基础教程:Web端图片点击全屏化及鼠标悬停扩大

编辑导语:Web端主页加入大量图片当下十分常见,如何利用Axure制作Web端图片点击全屏化及鼠标悬停扩大的效果?本篇文章里,作者总结了一份Axure操作教程,一起来看一下吧。

目前越来越多的web端主页会在简介中加入大量的图片,这些图片有些可以全屏查看,有些鼠标移入可使其扩大,给人一种可浮动的感觉。下面我们使用Axure 9.0制作一下上述效果。

如何对CAD图形快速居中?有哪些方法?


将图形居中是绘图过程中一个常用动作,使用辅助线定位方法效率又太低,所以,今天给大家分享一个实用技巧

▲无需辅助线、两步轻松将图形居中


▌引言

首先说明以上动画完全纯CAD完成、但需要我们提前设置一个“快捷键”、就是下图这个“两点之间的中点”捕捉快捷键。

这回可是真正的设置快捷键、而不是“L”画线这种快捷命令哦、下面我们来看一下具体设置方法及图形居中的操作技巧

word文本整页居中技巧,排版设计一键操作,高效工作不加班

Hello大家好,我是帮帮。今天跟大家分享一下word整页居中技巧,排版设计一键操作,高效工作不加班。

有个好消息!为了方便大家更快的掌握技巧,寻找捷径。请大家点击文章末尾的“了解更多”,在里面找到并关注我,里面有海量各类模板素材免费下载,我等着你噢^^<——非常重要!!!

メ大家请看范例图片,word单页居中排版,许多小伙伴只能空格回车,这样对齐不仅不能完美居中,还浪费排版调整时间。メ

<< < 1 2 3 4 > >>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言