四月十二日

Posted mine-my

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了四月十二日相关的知识,希望对你有一定的参考价值。

今天学了java如何到处pdf文件

本文将向您展示如何使用 Free Spire.PDF for Java 将数据从Microsoft Access数据库导出到PDF表格。 此外,本文还解决了一些其他的相关问题。

  • 如果表格超过一页,如何对表格进行分页?
  • 如何格式化表格,例如,如何设置交替行颜色,以及如何在单元格中对齐文本?
  • 如何检测到表格底部,以便我们可以在下面添加其他内容?

注:JDBC-ODBC Bridge已从Java SE 8中删除,不能再使用。要使用Java连接到Access数据库,可以使用Java SE 7或更低版本,或者需要使用UCanAccess,代替JDBC-ODBC Bridge。此示例使用JDK 6没有任何问题。

使用的代码

import com.spire.pdf.graphics.*;
import com.spire.pdf.tables.*;
import com.spire.pdf.tables.table.*;
import com.spire.pdf.tables.table.common.JdbcAdapter;
import java.awt.geom.*;
import java.awt.*;
import java.sql.*;

public class ExportDataToPdf 
    public static void main(String[] args) 

        //创建一个PDF文档
        PdfDocument doc = new PdfDocument();

        //设置页面边距
        doc.getPageSettings().setMargins(30f, 30f, 30f, 30f);

        //添加一个页面
        PdfPageBase page = doc.getPages().add();

        //初始化Y轴
        float y = 0;

        //创建一个笔刷
        PdfBrush brush = PdfBrushes.getBlack();

        //创建三种字体类型
        PdfTrueTypeFont titleFont = new PdfTrueTypeFont(new Font("Arial", Font.BOLD, 16));
        PdfTrueTypeFont tableFont = new PdfTrueTypeFont(new Font("Arial", 0, 10));
        PdfTrueTypeFont headerFont = new PdfTrueTypeFont(new Font("Arial", Font.BOLD, 11));
        PdfTrueTypeFont textFont = new PdfTrueTypeFont(new Font("Arial", 0, 12));

        //在页面中心绘制题目
        PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Center);
        page.getCanvas().drawString("Employee Table", titleFont, brush, page.getCanvas().getClientSize().getWidth() / 2, y, format);

        //计算坐标
        y = y + (float) titleFont.measureString("Employee Table", format).getHeight();
        y = y + 5;

        //创建一个PdfTable实例
        PdfTable table = new PdfTable();

        //设置默认单元格格式和行格式
        table.getStyle().setCellPadding(2);
        table.getStyle().setBorderPen(new PdfPen(brush, 0.75f));
        table.getStyle().getDefaultStyle().setBackgroundBrush(PdfBrushes.getWhite());
        table.getStyle().getDefaultStyle().setFont(tableFont);
        table.getStyle().getDefaultStyle().setStringFormat(new PdfStringFormat(PdfTextAlignment.Center));
        table.getStyle().getAlternateStyle().setBackgroundBrush(PdfBrushes.getLightGray());
        table.getStyle().getAlternateStyle().setFont(tableFont);
        table.getStyle().getAlternateStyle().setStringFormat(new PdfStringFormat(PdfTextAlignment.Center));

        //设置页眉格式
        table.getStyle().setHeaderSource(PdfHeaderSource.Column_Captions);
        table.getStyle().getHeaderStyle().setBackgroundBrush(PdfBrushes.getPurple());
        table.getStyle().getHeaderStyle().setFont(headerFont);
        table.getStyle().getHeaderStyle().setTextBrush(PdfBrushes.getWhite());
        table.getStyle().getHeaderStyle().setStringFormat(new PdfStringFormat(PdfTextAlignment.Center));

        //在每一页添加页眉
        table.getStyle().setShowHeader(true);

        //连接到数据库
        String url = "jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=" + "C:\\\\Users\\\\Administrator\\\\Documents\\\\data.mdb";
        DataTable dataTable = new DataTable();
        try 
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            try 
                Connection conn = DriverManager.getConnection(url);
                Statement sta = conn.createStatement();
                ResultSet resultSet = sta.executeQuery("select * from employee ");
                JdbcAdapter jdbcAdapter = new JdbcAdapter();

                //从数据库中提取数据到datatable
                jdbcAdapter.fillDataTable(dataTable, resultSet);
                table.setDataSourceType(PdfTableDataSourceType.Table_Direct);

                //用datatable填充表格
                table.setDataSource(dataTable);
             catch (SQLException e) 

                e.printStackTrace();
             catch (Exception e) 

                e.printStackTrace();
            
         catch (ClassNotFoundException e) 
            e.printStackTrace();
        

        //分页
        PdfTableLayoutFormat tableLayout = new PdfTableLayoutFormat();
        tableLayout.setLayout(PdfLayoutType.Paginate);

        //在指定的X轴和Y轴坐标系中绘制表格
        PdfLayoutResult result = table.draw(page, new Point2D.Float(0, y), tableLayout);

        //计算坐标
        y = (float) result.getBounds().getHeight() + 5;

        //在表格下撰写文本
        result.getPage().getCanvas().drawString(String.format("* %1$s employees in the list.", table.getRows().getCount()), textFont, brush, 5, y);

        //保存PDF文件。
        doc.saveToFile("ExportDataToPdf.pdf");
    

转自:https://www.jianshu.com/p/bc299659c4cc


 

 

 

英语单词分类(待补充)

月份类:

January(一月)

February(二月)

March(三月)

April(四月)

May(五月)

June(六月)

July(七月)

August(八月)

September(九月)

October(十月)

November(十一月)

December(十二月) 

星期类:

Monday(星期一)

Tuesday(星期二)

Wednesday(星期三)

Thursday(星期四)

Friday(星期五)

Saturday(星期六)

Sunday(星期日)

颜色类:

green(绿色) red(红色) bule(蓝色) yellow(黄色) black(黑色) white(白色)

purple(紫色) pink(粉红色) grey(灰色) darkblue(深蓝色)

科目类:

Chinese(语文) Math(Mathematies)(数学)English physics(物理)

biology(生物) geography(地理) chemistry(化学) history(历史) politics(政治)

music(音乐) painting(美术) algebra(代数) arithmetic(算术) geometry(几何)

computer(电脑) physicaleducation(PE)(体育)

水果类:

apple(苹果)pear(梨)banana(香蕉)grape(葡萄)peach(桃子)lemon(柠檬)

avocado(南美梨)plum(李子)apricot(杏子)nectarine(油桃)honeydew(honeymelon)(哈密瓜)

orang(橙子)prneapple(凤梨)watermelon(西瓜)papaya(木瓜)betelnut(槟榔)

chestnut(栗子)tangerine(橘子)sugar-cane(甘蔗)muskmelon(香瓜)shaddock(柚子、文旦)

juicepeach(水蜜桃)carambola(杨桃)cherry(樱桃)persimmon(柿子)mango(芒果)

fig(无花果)

球类:

basketball(篮球)baseball(棒球)volleyball(排球)handball(手球)bowlingball(保龄球)

golfball(高尔夫球)waterpolo(水球)icehockey(冰球)balloon(气球)tennis(网球)

table tennis(乒乓球)badmintom(语毛球)billiards(台球)football(soccer)(足球)

动物类:

fly(苍蝇)butterfly(蝴蝶)dragonfly(萤火虫)tiger(虎)bird(鸟)fish(鱼)

insect(虫)penguin(企鹅)bear(熊)dog(狗)cat(猫)pig(猪)cow(牛)

sheep(绵羊)goat(山羊)monkey(猴子)MickeyMouse(米老鼠)

家庭成员:

grandfather/grandpa(爷爷)grandmother/grandma(奶奶)father/dad/daddy(爸爸)

mother/mum/mammy(妈妈)husband(丈夫)wife(妻子)son(儿子)daughter(女儿)

daughter-in-law(媳妇)grandson(孙子)granddaughter(孙女)

sister(姐妹)brother(兄弟)niece(侄女)

身体部位:

head(头)hand(手)elbow(肘)arm(臂)

chest(胸)stomach(腹)waist(腰)

buttock(臀)leg(腿)knee(膝)foot(脚)

节日类:

Spring Festival(春节)

International Children‘s Day(国际儿童节)

Army Day(建军节)

Teacher‘s Day(教师节)

New Year‘s Day(元旦)

International Working Women‘s Day(国际妇女劳动节)

International Labor Day(国际劳动节)

Mid-Autumn Festival(中秋节)

Dragon-Boat Festival(端午节)

Double Ninth Festival(重阳节)

Tomb-Sweeping Day(清明节)

以上是关于四月十二日的主要内容,如果未能解决你的问题,请参考以下文章

linux第十二节课(补四月五号)

四月十二号日报

语言学习

我的 2020 总结:Never Settle

highchart 图标 时钟的使用

time库