我正在尝试将PNG保存为PDF,但我似乎无法减少文件大小。即使我将文件拆分为3个不同的PDF文档,它们仍然与原始文档大小相同。有没有办法将最终文件大小减小为一个或分成3?我无法弄清楚为什么文件大小是相同的,即使我从935 x 2000减少每个PDF文档它出来大约226 kb。图片来自使用C#硒的网站截图。 ss是我之前拍的截图。任何建议将不胜感激。
string pic = @"";
ss.SaveAsFile(pic, ScreenshotImageFormat.Png);
PdfDocument doc = new PdfDocument();
PdfDocument doc2 = new PdfDocument();
PdfDocument doc3 = new PdfDocument();
XImage image = XImage.FromFile(pic);
PdfPage page1 = doc.AddPage();
page1.Width = 935;
page1.Height = 600;
XGraphics gfx = XGraphics.FromPdfPage(page1);
gfx.DrawImage(image, 0, 0, 468, 1000);
PdfPage page2 = doc2.AddPage();
page2.Width = 935;
page2.Height = 600;
gfx = XGraphics.FromPdfPage(page2);
gfx.DrawImage(image, 0, -600);
PdfPage page3 = doc3.AddPage();
page3.Width = 935;
page3.Height = 600;
gfx = XGraphics.FromPdfPage(page3);
gfx.DrawImage(image, 0, -1200);
Regex pngRGX = new Regex(@".png");
string strPDFSave = pngRGX.Replace(pic, "1.pdf");
doc.Save(strPDFSave);
strPDFSave = pngRGX.Replace(pic, "2.pdf");
doc2.Save(strPDFSave);
strPDFSave = pngRGX.Replace(pic, "3.pdf");
doc3.Save(strPDFSave);
答案 0 :(得分:0)
PDFsharp包含PDF中的完整图像,即使图像的一部分在页面上可见(通过更改媒体框也可以看到其他部分)。
如果您想使用三个PDF文件,请在将图像添加到PDF文件之前将其剪切为所需的尺寸。
如果将屏幕截图从935 x 2000缩小到较小的尺寸,生成的PDF也应该变小 - 不确定这是否适合您。
PDFsharp包含所有图像,没有任何质量损失。如果您认为质量下降,请降低代码质量。