国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

java生成pdf表格并支持下載可選另存為

這篇具有很好參考價(jià)值的文章主要介紹了java生成pdf表格并支持下載可選另存為。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

package com.qf.staff_manage.controller;

import com.itextpdf.kernel.color.Color;
import com.itextpdf.kernel.font.PdfFont;
import com.itextpdf.kernel.font.PdfFontFactory;
import com.itextpdf.kernel.geom.PageSize;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Cell;
import com.itextpdf.layout.element.Paragraph;
import com.itextpdf.layout.element.Table;
import com.itextpdf.layout.property.TextAlignment;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayOutputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.List;

@RestController
@RequestMapping("candidate")
public class dd {
    @RequestMapping("/dd")
    public void createpdf(HttpServletResponse response) throws IOException {
        try {
            response.reset();
            String fileName = new String(("信用承諾失信行為查詢.pdf").getBytes("gb2312"), "ISO8859-1");
            response.setContentType("application/pdf");
            response.setHeader("Content-disposition", "attachment; filename=" + fileName);

            ByteArrayOutputStream baos = new ByteArrayOutputStream();

            PdfWriter writer = new PdfWriter(baos);

            PdfDocument pdf = new PdfDocument(writer);
            Document document = new Document(pdf, PageSize.A4);
            // 創(chuàng)建字體
            PdfFont font = PdfFontFactory.createFont("STSong-Light", "UniGB-UCS2-H", true); // 設(shè)置加粗和字體大小
            PdfFont font1 = PdfFontFactory.createFont("STSong-Light", "UniGB-UCS2-H", true);
            // 創(chuàng)建表格
            Table table = new Table(5); // 3列的表格
            //添加標(biāo)題

            table.addHeaderCell(new Cell(1, 5).add(new Paragraph("信用承諾失信行為查詢").setFont(font).setTextAlignment(TextAlignment.CENTER)).setBold().setFontSize(18));
            // 添加表頭
            table.addCell(new Cell().add(new Paragraph("序號(hào)").setFont(font).setTextAlignment(TextAlignment.CENTER)).setBold());
            table.addCell(new Cell().add(new Paragraph("單位名稱").setFont(font).setTextAlignment(TextAlignment.CENTER)).setBold());
            table.addCell(new Cell().add(new Paragraph("是/否信用承諾失信行為").setFont(font).setTextAlignment(TextAlignment.CENTER)).setBold());
            table.addCell(new Cell().add(new Paragraph("查詢?nèi)?).setFont(font).setTextAlignment(TextAlignment.CENTER)).setBold());
            table.addCell(new Cell().add(new Paragraph("查詢時(shí)間").setFont(font).setTextAlignment(TextAlignment.CENTER)).setBold());
            //查詢出表格數(shù)據(jù)

            // 在文檔中添加表格
            document.add(table);
            // 關(guān)閉文檔
            document.close();
            byte[] pdfBytes = baos.toByteArray();
            // 將PDF內(nèi)容寫入響應(yīng)輸出流
            response.setContentLength(pdfBytes.length);
            response.getOutputStream().write(pdfBytes);
            response.getOutputStream().flush();
            response.getOutputStream().close();
            writer.close();

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}

直接復(fù)制以上代碼即可完成,但是也要引入一些依賴

<dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>kernel</artifactId>
            <version>7.0.3</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>io</artifactId>
            <version>7.0.3</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>layout</artifactId>
            <version>7.0.3</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>font-asian</artifactId>
            <version>7.0.3</version>
        </dependency>

引入以后修修補(bǔ)補(bǔ)增增改改就可以了文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-694350.html

到了這里,關(guān)于java生成pdf表格并支持下載可選另存為的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 最新 生成pdf文字和表格

    最新 生成pdf文字和表格

    先看效果 java項(xiàng)目,使用apache的pdfbox工具,可分頁(yè),自定義列 創(chuàng)建一個(gè)頁(yè)面 執(zhí)行后就可以在 D:imgTest 目錄下看到test.pdf 打開(kāi)后有一個(gè)空白頁(yè) 寫入文字 但是可以看到文字在最后顯示 文字從頂部寫入 計(jì)算出page高度 文字高度 然后就得到了書(shū)寫的位置 contentStream.newLineAtOffset(0,p

    2024年01月18日
    瀏覽(11)
  • Java實(shí)現(xiàn)導(dǎo)出多個(gè)excel表打包到zip文件中,供客戶端另存為窗口下載

    Java實(shí)現(xiàn)導(dǎo)出多個(gè)excel表打包到zip文件中,供客戶端另存為窗口下載

    業(yè)務(wù)需求:從數(shù)據(jù)庫(kù)查詢多個(gè)list集合信息封裝excel,每個(gè)excel都有2個(gè)sheet頁(yè),填充不同的信息,最后將所有excel打包成zip文件,以流的形式返回給客戶端,供客戶端另存為窗口下載。 只發(fā)出一次請(qǐng)求 每個(gè)excel表中到數(shù)據(jù)記錄不能超過(guò)2條 excel文件或者zip包不會(huì)上傳服務(wù)器,而是

    2024年02月06日
    瀏覽(21)
  • word另存為pdf失敗的原因及處理方法

    word另存為pdf失敗的原因及處理方法

    我們知道,Word可以通過(guò)另存為方式直接保存為PDF,其原理其實(shí)跟打印機(jī)打印差不多,PDF就是一臺(tái)虛擬的打印機(jī),但有些同學(xué)反映word另存為pdf失敗,可能的原因是什么呢?又該如何處理呢? word另存為pdf失敗的原因可能有以下幾種: 1. PDF打印機(jī)未正確安裝:確保你已經(jīng)正確安

    2024年02月11日
    瀏覽(33)
  • Android Kotlin Java 自定義日歷控件 CalendarView ,支持單選,多選,按星期選,跨月份日期范圍選擇,樣式設(shè)置,設(shè)置不可選日期,設(shè)置只可選日期

    Android Kotlin Java 自定義日歷控件 CalendarView ,支持單選,多選,按星期選,跨月份日期范圍選擇,樣式設(shè)置,設(shè)置不可選日期,設(shè)置只可選日期

    https://github.com/hdev0225/CalendarView CalendarView 使用kotlin語(yǔ)言開(kāi)發(fā),支持單選,多選,按星期選,跨月份日期范圍選擇,樣式設(shè)置,設(shè)置不可選日期,設(shè)置只可選日期 設(shè)置不可選擇日期,設(shè)置只可選擇某些日期 AS 版本: Android Studio Dolphin | 2021.3.1 Android Gradle Plugin Version: 7.3.0 Gradle

    2024年02月09日
    瀏覽(92)
  • 解決Visio另存為(或者導(dǎo)出)pdf字符間距變化/不均等字母間距的問(wèn)題

    解決Visio另存為(或者導(dǎo)出)pdf字符間距變化/不均等字母間距的問(wèn)題

    當(dāng)用Visio導(dǎo)出PDF時(shí),有時(shí)候會(huì)導(dǎo)致字符間距變化/不均等,這就讓人頭疼,覺(jué)得匪夷所思了 Microsoft Visio是一個(gè)流程圖軟件。Visio制作的圖表范圍十分廣泛,可以利用Visio的強(qiáng)大繪圖功能繪制地圖、企業(yè)標(biāo)志等,同時(shí)Visio支持將檔案保存為svg、dwg等矢量通用格式。 解決方法: 按住

    2024年02月16日
    瀏覽(164)
  • JS實(shí)現(xiàn)把表格數(shù)據(jù)導(dǎo)出,并生成為excel下載到本地

    JS實(shí)現(xiàn)把表格數(shù)據(jù)導(dǎo)出,并生成為excel下載到本地

    最近開(kāi)發(fā)頁(yè)面用到了導(dǎo)出功能,之前也沒(méi)有做導(dǎo)出為excel功能的經(jīng)驗(yàn),經(jīng)過(guò)各方面查詢嘗試之后,終于成功實(shí)現(xiàn),所以來(lái)總結(jié)一下 首先,你需要下載xlsx.js插件,并在HTML頭部文件中需要引入,我是直接用命令行下載的:npm install xlsx --save 前端寫一個(gè)按鈕綁定函數(shù): js部分實(shí)現(xiàn)函

    2024年02月06日
    瀏覽(17)
  • 功能需求-根據(jù)頁(yè)面生成pdf,pdf不需要下載只需把文件流上傳到服務(wù)器

    根據(jù)自身當(dāng)下技術(shù)的水平和實(shí)際情況,做一個(gè)簡(jiǎn)單的記錄。 在項(xiàng)目中有采購(gòu)合同和銷售合同,這些合同新建好之后都需要有人去審核,審核通過(guò)后需要把合同生成一個(gè)pdf文件然后后端給保存起來(lái) 在項(xiàng)目中有采購(gòu)合同和銷售合同,這些合同新建好之后都需要有人去審核,審核

    2024年02月13日
    瀏覽(30)
  • 【工具分享】批量多目錄圖片如何轉(zhuǎn)換PDF,一次性轉(zhuǎn)換多級(jí)目錄批量的PDF的轉(zhuǎn)換,合并,輸出另存等問(wèn)題

    【工具分享】批量多目錄圖片如何轉(zhuǎn)換PDF,一次性轉(zhuǎn)換多級(jí)目錄批量的PDF的轉(zhuǎn)換,合并,輸出另存等問(wèn)題

    ?在工作中我們經(jīng)常要對(duì)圖片進(jìn)行批量轉(zhuǎn)換PDF,由于文件量比較多,目錄比較深,工作量比較大比較耗時(shí)費(fèi)力,今天我們分享的主要解決以下問(wèn)題: 1、單張圖片的轉(zhuǎn)換PDF:一張圖臨時(shí)轉(zhuǎn)一下 2、多張圖片轉(zhuǎn)換成PDF:多張圖單獨(dú)轉(zhuǎn)成PDF 3、多級(jí)目錄多張圖轉(zhuǎn)換成PDF:多級(jí)目錄多

    2024年02月10日
    瀏覽(93)
  • Element UI 實(shí)戰(zhàn):跨頁(yè)保存表格選中狀態(tài)與判斷狀態(tài)可選性的高效方案

    Element UI 實(shí)戰(zhàn):跨頁(yè)保存表格選中狀態(tài)與判斷狀態(tài)可選性的高效方案

    ????????在前文中,我們?cè)钊胩接懥嗽谛薷臄?shù)據(jù)后跨頁(yè)時(shí)提醒用戶可能丟失數(shù)據(jù)的問(wèn)題。雖然這種方式對(duì)于一些場(chǎng)景是足夠的,但當(dāng)涉及選擇框時(shí),我們需要更為智能和高效的解決方案。在本文中,我們將分享一種基于 Element UI 的實(shí)際案例,旨在實(shí)現(xiàn)跨頁(yè)保存選中項(xiàng)與禁

    2024年02月04日
    瀏覽(15)
  • 如何通過(guò)Java的Apache PDFBox庫(kù)制作一個(gè)PDF表格模板并填充數(shù)據(jù)

    要使用Java的Apache PDFBox庫(kù)制作一個(gè)PDF表格模板并填充數(shù)據(jù),你需要遵循以下步驟: 添加依賴 :首先,確保你的項(xiàng)目中包含了Apache PDFBox的依賴。如果你使用Maven,可以在你的 pom.xml 文件中添加以下依賴: 創(chuàng)建PDF模板 :你可以使用PDFBox創(chuàng)建一個(gè)簡(jiǎn)單的PDF模板,或者使用其他工具

    2024年02月22日
    瀏覽(23)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包