当前位置: 首页 > 知识库问答 >
问题:

使用文本更改 PDF 的方向

傅浩漫
2023-03-14

我已经在这个链接http://viral Patel . net/blogs/generate-pie-chart-bar-graph-in-pdf-using-itext-jfreechart/的帮助下完成了pdf和图表的创建。

package net.viralpatel.pdf;

import java.awt.Graphics2D;
import java.awt.geom.Rectangle2D;
import java.io.FileOutputStream;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;

import com.itextpdf.text.Document;
import com.itextpdf.text.pdf.DefaultFontMapper;
import com.itextpdf.text.pdf.PdfContentByte;
import com.itextpdf.text.pdf.PdfTemplate;
import com.itextpdf.text.pdf.PdfWriter;

public class PieChartDemo {    
public static void main(String[] args) {
     //TODO: Add code to generate PDFs with charts
    writeChartToPDF(generateBarChart(), 500, 400, "C://barchart.pdf");
    writeChartToPDF(generatePieChart(), 500, 400, "C://piechart.pdf");
}

public static void writeChartToPDF(JFreeChart chart, int width, int height, String fileName) {
    PdfWriter writer = null;

    Document document = new Document();

    try {
        writer = PdfWriter.getInstance(document, new FileOutputStream(
                fileName));
        document.open();
        PdfContentByte contentByte = writer.getDirectContent();
        PdfTemplate template = contentByte.createTemplate(width, height);
        Graphics2D graphics2d = template.createGraphics(width, height,
                new DefaultFontMapper());
        Rectangle2D rectangle2d = new Rectangle2D.Double(0, 0, width,
                height);

        chart.draw(graphics2d, rectangle2d);

        graphics2d.dispose();
        contentByte.addTemplate(template, 0, 0);

    } catch (Exception e) {
        e.printStackTrace();
    }
    document.close();
}

public static JFreeChart generatePieChart() {
    DefaultPieDataset dataSet = new DefaultPieDataset();
    dataSet.setValue("China", 19.64);
    dataSet.setValue("India", 17.3);
    dataSet.setValue("United States", 4.54);
    dataSet.setValue("Indonesia", 3.4);
    dataSet.setValue("Brazil", 2.83);
    dataSet.setValue("Pakistan", 2.48);
    dataSet.setValue("Bangladesh", 2.38);

    JFreeChart chart = ChartFactory.createPieChart(
            "World Population by countries", dataSet, true, true, false);

    return chart;
}

public static JFreeChart generateBarChart() {
    DefaultCategoryDataset dataSet = new DefaultCategoryDataset();
    dataSet.setValue(791, "Population", "1750 AD");
    dataSet.setValue(978, "Population", "1800 AD");
    dataSet.setValue(1262, "Population", "1850 AD");
    dataSet.setValue(1650, "Population", "1900 AD");
    dataSet.setValue(2519, "Population", "1950 AD");
    dataSet.setValue(6070, "Population", "2000 AD");

    JFreeChart chart = ChartFactory.createBarChart(
            "World Population growth", "Year", "Population in millions",
            dataSet, PlotOrientation.VERTICAL, false, true, false);

    return chart;
}

}

现在如何将pdf的方向从横向改为横向?

共有1个答案

白翰海
2023-03-14

当您创建Document对象时,如下所示:

Document document = new Document();

您告诉iText使用Portrait方向创建包含A4格式页面的文档。您可以添加一个Rectangle对象作为Document构造函数的参数,以创建具有任何所需大小页面的文档。

您还可以使用 PageSize 类来使用预定义的格式。例如:如果你想在横向中使用A4页面,你可以使用这个:

Document document = new Document(PageSize.A4.rotate());

更多信息,请下载免费电子书“PDF的ABC”。

 类似资料:
  • 问题内容: 为什么以下内容对我不起作用? 问题答案: 因为您的脚本在运行之前运行,所以标签存在于页面中(在DOM中)。可以将脚本放在标签后,或者等待文档完全加载(使用OnLoad函数) 这行不通: 这将起作用: 此示例(jsfiddle链接)维护顺序(首先是脚本,然后是标签),并使用onLoad:

  • 问题内容: 我正在尝试制作一个将用作荧光笔的javascript小书签,当按小书签时,将网页上所选文本的背景更改为黄色。 我正在使用以下代码来获取选定的文本,并且工作正常,返回正确的字符串 } 但是,当我创建了一个类似的函数来使用jQuery更改所选文本的CSS时,它不起作用: } 有任何想法吗? 问题答案: 最简单的方法是使用,该命令具有在所有现代浏览器中更改背景颜色的命令。 以下应该在任何选择

  • 目标是实现一个PDF签名过程,在该过程中,服务器(.NET核心服务)根据请求(Electronic)向客户端提供要签名的散列。然后,客户端使用通过PKCS#11接口从智能卡获得的私钥对给定散列进行签名。然后将签名发送回服务器,以便使用iTextSharp将其附加到PDF文件中。 使用node-webcrypto-p11使用智能卡令牌签名哈希的过程目前非常简单(需要进行大量的尝试和错误)。采用的算法

  • 当我突出显示div中的特定文本时,如何更改字体。当我从下拉框中选择字体时,下面的代码将更改整个文本的字体。

  • 本文向大家介绍C#使用iTextSharp将PDF转成文本的方法,包括了C#使用iTextSharp将PDF转成文本的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#使用iTextSharp将PDF转成文本的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的C#程序设计有所帮助。

  • 这里有个简单的问题。我有一个UIButton,currencySelector,我想通过编程更改文本。以下是我所拥有的: Xcode给了我一个错误“预期声明”。我做错了什么?我该如何更改按钮的文本?