关于C#使用iTextSharp生成PDF的问题,跪求解决方案

_小黑_ 2013-09-05 10:24:45
需求是这样的:

我需要把多张图片压缩成PDF但是生成的PDF的大小等于所有图片的大小,然后我用别的方法将这些图片生成PDF,比如用adobe的打印成PDF 生成的大小 就是其中一张图片大小。

简单来说:3张图片都是170K的会生成一个520K的PDF,但是用adobe的打印成PDF生成只有180K,我们系统现在要求生成PDF必须占字节小请问iTextSharp是否可以实现或者怎么实现?? 谢谢

生成代码如下:
public void ExportDataIntoPDF(string pathName, String path)
{
iTextSharp.text.Rectangle rr = new iTextSharp.text.Rectangle(1300, 1800);

iTextSharp.text.Document document = new iTextSharp.text.Document(rr);
try
{
iTextSharp.text.pdf.PdfWriter.GetInstance(document, new FileStream(pathName, FileMode.CreateNew));

document.Open();
iTextSharp.text.pdf.BaseFont bfChinese = iTextSharp.text.pdf.BaseFont.CreateFont("C:\\WINDOWS\\Fonts\\simsun.ttc,1", iTextSharp.text.pdf.BaseFont.IDENTITY_H, iTextSharp.text.pdf.BaseFont.NOT_EMBEDDED);
iTextSharp.text.Font Titlefont = new iTextSharp.text.Font(bfChinese, 16, iTextSharp.text.Font.BOLD, new iTextSharp.text.Color(0, 0, 0));
document.Add(new Paragraph(" 将图片转成PDF:" + "\n", Titlefont));

iTextSharp.text.Image je1 = iTextSharp.text.Image.GetInstance(@"D:\1.jpg");
document.Add(je1);
iTextSharp.text.Image je2 = iTextSharp.text.Image.GetInstance(@"D:\2.jpg");
document.Add(je2);
iTextSharp.text.Image je3 = iTextSharp.text.Image.GetInstance(@"D:\3.jpg");
document.Add(je3);
}
catch (Exception de)
{
MessageBox.Show(de.ToString());
}
document.Close();
}
...全文
252 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
_小黑_ 2013-09-05
  • 打赏
  • 举报
回复
你先别着急喷我,adobe打印成PDF打印,如果只把一张图片打印成PDF,那他和原图片大小是一样的。比如我的JPG图片大小是 170kb,打印成pdf是175kb左右 但是如果是2长170kb的图片他能生成一个180KB的pdf,3张就是185KB,而且你说什么缩小尺寸,像素,我都去PDF 查过了和原图一样,而且打印出来也和原图一样。 我就发现这个论坛都是些喜欢喷人的自己找优越感的货,还有个大胖子脸也是,那个大胖子是有技术,请你在喷别人之前自己试过了再喷,要不你这样太丢人了 还先看什么先看《计算机图形学》1-3章? 我就问你 为什么 一张图片是175Kb,俩张图片是180kb,你不看过吗 你解释下啊 大神
卧_槽 2013-09-05
  • 打赏
  • 举报
回复
jpg是不能压缩的,adobe也没这本事,如果他打包出来文件小了很多,要么是损失了图片质量,要么是缩小了图片尺寸。 撸主的基础太差,建议先弄清楚图片,图片格式,文件大小,图片尺寸等基础问题。适合先看《计算机图形学》1-3章。

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧