精华内容
下载资源
问答
  • 结果:1个文件大小(太大)的PDF / A-1b文件. (它几乎是所有源文件大小的总和).问题:有没有办法减少生成的PDF的文件大小?想法:删除冗余的嵌入字体.但是怎么样?这是正确的方法吗?不幸的是,以下代码没有完成这项...

    输入:包含嵌入字体的(例如14个)PDF / A-1b文件列表.

    处理:与Apache PDFBOX进行简单合并.

    结果:1个文件大小(太大)的PDF / A-1b文件. (它几乎是所有源文件大小的总和).

    问题:有没有办法减少生成的PDF的文件大小?

    想法:删除冗余的嵌入字体.但是怎么样?这是正确的方法吗?

    不幸的是,以下代码没有完成这项工作,但突出了明显的问题.

    try (PDDocument document = PDDocument.load(new File("E:/tmp/16189_ZU_20181121195111_5544_2008-12-31_Standardauswertung.pdf"))) {

    List collectedFonts = new ArrayList<>();

    PDPageTree pages = document.getDocumentCatalog().getPages();

    int pageNr = 0;

    for (PDPage page : pages) {

    pageNr++;

    Iterable names = page.getResources().getFontNames();

    System.out.println("Page " + pageNr);

    for (COSName name : names) {

    collectedFonts.add(name);

    System.out.print("\t" + name + " - ");

    PDFont font = page.getResources().getFont(name);

    System.out.println(font + ", embedded: " + font.isEmbedded());

    page.getCOSObject().removeItem(COSName.F);

    page.getResources().getCOSObject().removeItem(name);

    }

    }

    document.save("E:/tmp/output.pdf");

    }

    代码产生如下输出:

    Page 1

    COSName{F23} - PDTrueTypeFont ArialMT-Bold, embedded: true

    COSName{F27} - PDTrueTypeFont ArialMT-Regular, embedded: true

    Page 2

    COSName{F23} - PDTrueTypeFont ArialMT-Bold, embedded: true

    COSName{F33} - PDTrueTypeFont ArialMT-BoldItalic, embedded: true

    COSName{F25} - PDTrueTypeFont ArialMT-Italic, embedded: true

    COSName{F27} - PDTrueTypeFont ArialMT-Regular, embedded: true

    Page 3

    COSName{F23} - PDTrueTypeFont ArialMT-Bold, embedded: true

    COSName{F25} - PDTrueTypeFont ArialMT-Italic, embedded: true

    COSName{F27} - PDTrueTypeFont ArialMT-Regular, embedded: true

    Page 4

    COSName{F23} - PDTrueTypeFont ArialMT-Bold, embedded: true

    COSName{F25} - PDTrueTypeFont ArialMT-Italic, embedded: true

    COSName{F27} - PDTrueTypeFont ArialMT-Regular, embedded: true

    Page 5

    COSName{F23} - PDTrueTypeFont ArialMT-Bold, embedded: true

    COSName{F33} - PDTrueTypeFont ArialMT-BoldItalic, embedded: true

    COSName{F27} - PDTrueTypeFont ArialMT-Regular, embedded: true

    Page 6

    COSName{F23} - PDTrueTypeFont ArialMT-Bold, embedded: true

    COSName{F33} - PDTrueTypeFont ArialMT-BoldItalic, embedded: true

    COSName{F27} - PDTrueTypeFont ArialMT-Regular, embedded: true

    Page 7

    COSName{F23} - PDTrueTypeFont ArialMT-Bold, embedded: true

    COSName{F33} - PDTrueTypeFont ArialMT-BoldItalic, embedded: true

    COSName{F27} - PDTrueTypeFont ArialMT-Regular, embedded: true

    Page 8

    COSName{F23} - PDTrueTypeFont ArialMT-Bold, embedded: true

    COSName{F25} - PDTrueTypeFont ArialMT-Italic, embedded: true

    COSName{F27} - PDTrueTypeFont ArialMT-Regular, embedded: true

    Page 9

    COSName{F23} - PDTrueTypeFont ArialMT-Bold, embedded: true

    COSName{F33} - PDTrueTypeFont ArialMT-BoldItalic, embedded: true

    COSName{F25} - PDTrueTypeFont ArialMT-Italic, embedded: true

    COSName{F27} - PDTrueTypeFont ArialMT-Regular, embedded: true

    Page 10

    COSName{F23} - PDTrueTypeFont ArialMT-Bold, embedded: true

    COSName{F33} - PDTrueTypeFont ArialMT-BoldItalic, embedded: true

    COSName{F25} - PDTrueTypeFont ArialMT-Italic, embedded: true

    COSName{F27} - PDTrueTypeFont ArialMT-Regular, embedded: true

    Page 11

    COSName{F23} - PDTrueTypeFont ArialMT-Bold, embedded: true

    COSName{F33} - PDTrueTypeFont ArialMT-BoldItalic, embedded: true

    COSName{F27} - PDTrueTypeFont ArialMT-Regular, embedded: true

    Page 12

    COSName{F23} - PDTrueTypeFont ArialMT-Bold, embedded: true

    COSName{F25} - PDTrueTypeFont ArialMT-Italic, embedded: true

    COSName{F27} - PDTrueTypeFont ArialMT-Regular, embedded: true

    Page 13

    COSName{F23} - PDTrueTypeFont ArialMT-Bold, embedded: true

    COSName{F25} - PDTrueTypeFont ArialMT-Italic, embedded: true

    COSName{F27} - PDTrueTypeFont ArialMT-Regular, embedded: true

    Page 14

    COSName{F23} - PDTrueTypeFont ArialMT-Bold, embedded: true

    COSName{F25} - PDTrueTypeFont ArialMT-Italic, embedded: true

    COSName{F27} - PDTrueTypeFont ArialMT-Regular, embedded: true

    任何帮助赞赏…

    解决方法:

    在文件中调试时,我发现相同字体的字体文件被多次引用.因此,使用已查看的字体文件项替换字典中的实际字体文件项,删除了引用并可以进行压缩.通过这种方式,我能够将30 MB的文件缩小到大约6 MB.

    File file = new File("test.pdf");

    PDDocument doc = PDDocument.load(file);

    Map fontFileCache = new HashMap<>();

    for (int pageNumber = 0; pageNumber < doc.getNumberOfPages(); pageNumber++) {

    final PDPage page = doc.getPage(pageNumber);

    COSDictionary pageDictionary = (COSDictionary) page.getResources().getCOSObject().getDictionaryObject(COSName.FONT);

    for (COSName currentFont : pageDictionary.keySet()) {

    COSDictionary fontDictionary = (COSDictionary) pageDictionary.getDictionaryObject(currentFont);

    for (COSName actualFont : fontDictionary.keySet()) {

    COSBase actualFontDictionaryObject = fontDictionary.getDictionaryObject(actualFont);

    if (actualFontDictionaryObject instanceof COSDictionary) {

    COSDictionary fontFile = (COSDictionary) actualFontDictionaryObject;

    if (fontFile.getItem(COSName.FONT_NAME) instanceof COSName) {

    COSName fontName = (COSName) fontFile.getItem(COSName.FONT_NAME);

    fontFileCache.computeIfAbsent(fontName.getName(), key -> fontFile.getItem(COSName.FONT_FILE2));

    fontFile.setItem(COSName.FONT_FILE2, fontFileCache.get(fontName.getName()));

    }

    }

    }

    }

    }

    final ByteArrayOutputStream baos = new ByteArrayOutputStream();

    doc.save(baos);

    final File compressed = new File("test_compressed.pdf");

    baos.writeTo(new FileOutputStream(compressed));

    也许这不是最优雅的方式,但它可以工作并保持PDF / A-1b的兼容性.

    标签:java,pdf,fonts,pdfbox,filesize

    来源: https://codeday.me/bug/20191006/1858483.html

    展开全文
  • java 生成pdf 压缩 文件大小 java使用itext生成pdf文件,文件大小压缩,比如大小34M变成1M或更小,大神
  • 最后,我找到了使用itextpdf库的最佳解决方案。 我们可以根据该因子减少DPI。例如:系数= NewDPI / CurrentDPI(FACTOR = 0.5f)import java.awt.Graphics2D;import java.awt.geom.AffineTransform;import java.awt....

    最后,我找到了使用itextpdf库的最佳解决方案。 我们可以根据该因子减少DPI。

    例如:系数= NewDPI / CurrentDPI(FACTOR = 0.5f)

    import java.awt.Graphics2D;

    import java.awt.geom.AffineTransform;

    import java.awt.image.BufferedImage;

    import java.io.ByteArrayOutputStream;

    import java.io.File;

    import java.io.FileOutputStream;

    import java.io.IOException;

    import javax.imageio.ImageIO;

    import com.itextpdf.text.DocumentException;

    import com.itextpdf.text.pdf.PRStream;

    import com.itextpdf.text.pdf.PdfName;

    import com.itextpdf.text.pdf.PdfNumber;

    import com.itextpdf.text.pdf.PdfObject;

    import com.itextpdf.text.pdf.PdfReader;

    import com.itextpdf.text.pdf.PdfStamper;

    import com.itextpdf.text.pdf.parser.PdfImageObject;

    public class ReduceSize {

    public static final String SRC = "/Users/xxxx/Downloads/low/input.pdf";

    public static final String DEST = "/Users/xxxx/Downloads/low/output.pdf";

    public static final float FACTOR = 0.5f;

    public static void main(String[] args) throws DocumentException, IOException {

    File file = new File(DEST);

    file.getParentFile().mkdirs();

    new ReduceSize().manipulatePdf(SRC, DEST);

    }

    public void manipulatePdf(String src, String dest) throws DocumentException, IOException {

    PdfReader reader = new PdfReader(src);

    int n = reader.getXrefSize();

    PdfObject object;

    PRStream stream;

    // Look for image and manipulate image stream

    for (int i = 0; i < n; i++) {

    object = reader.getPdfObject(i);

    if (object == null || !object.isStream())

    continue;

    stream = (PRStream)object;

    if (!PdfName.IMAGE.equals(stream.getAsName(PdfName.SUBTYPE)))

    continue;

    if (!PdfName.DCTDECODE.equals(stream.getAsName(PdfName.FILTER)))

    continue;

    PdfImageObject image = new PdfImageObject(stream);

    BufferedImage bi = image.getBufferedImage();

    if (bi == null)

    continue;

    int width = (int)(bi.getWidth() * FACTOR);

    int height = (int)(bi.getHeight() * FACTOR);

    if (width <= 0 || height <= 0)

    continue;

    BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

    AffineTransform at = AffineTransform.getScaleInstance(FACTOR, FACTOR);

    Graphics2D g = img.createGraphics();

    g.drawRenderedImage(bi, at);

    ByteArrayOutputStream imgBytes = new ByteArrayOutputStream();

    ImageIO.write(img, "JPG", imgBytes);

    stream.clear();

    stream.setData(imgBytes.toByteArray(), false, PRStream.NO_COMPRESSION);

    stream.put(PdfName.TYPE, PdfName.XOBJECT);

    stream.put(PdfName.SUBTYPE, PdfName.IMAGE);

    stream.put(PdfName.FILTER, PdfName.DCTDECODE);

    stream.put(PdfName.WIDTH, new PdfNumber(width));

    stream.put(PdfName.HEIGHT, new PdfNumber(height));

    stream.put(PdfName.BITSPERCOMPONENT, new PdfNumber(8));

    stream.put(PdfName.COLORSPACE, PdfName.DEVICERGB);

    }

    reader.removeUnusedObjects();

    // Save altered PDF

    PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));

    stamper.setFullCompression();

    stamper.close();

    reader.close();

    }

    }

    展开全文
  • 在前文中我使用Java程序来演示过如何合并和拆分PDF文档。本文将介绍如何复制和压缩文档。通常复制文档有两种形式,一种是跨文档复制,即将一个文档复制到另一个文档中;另一种则是在同一个文档中进行页面复制。压缩...

    在日常办公中,掌握操作PDF文档的能力尤为重要。在前文中我使用Java程序来演示过如何合并和拆分PDF文档。本文将介绍如何复制和压缩文档。通常复制文档有两种形式,一种是跨文档复制,即将一个文档复制到另一个文档中;另一种则是在同一个文档中进行页面复制。压缩文档也有两个方式,一种是直接压缩文档内容;另一种则是通过压缩文档中的图片来实现文档大小的减少。

    使用工具:Free Spire.PDF for Java(免费版)

    Jar文件获取及导入:

    方法1:通过E-iceblue中文官网下载获取jar包。解压后将lib文件夹下的Spire.Pdf.jar文件导入Java程序。(如下图)

    cee3080ddf975fc32d08056b67c7e6be.png

    方法2:通过maven仓库安装导入。具体安装教程参见E-iceblue中文官网。

    【示例1】复制文档

    Part 1 跨文档复制

    import com.spire.pdf.*;

    import com.spire.pdf.graphics.PdfMargins;

    import com.spire.pdf.graphics.PdfTemplate;

    import java.awt.*;

    import java.awt.geom.Dimension2D;

    public class Copy1 {

    public static void main(String[] args) {

    //加载两个PDF文档

    PdfDocument pdf1 = new PdfDocument("C:\\Users\\Test1\\Desktop\\Pdf1.pdf");

    PdfDocument pdf2 = new PdfDocument("C:\\Users\\Test1\\Desktop\\Pdf2.pdf");

    //获取Pdf1的第一页,并根据页面创建模板

    PdfPageBase page = pdf1.getPages().get(0);

    Dimension2D size = page.getSize();

    PdfTemplate template = page.createTemplate();

    //在Pdf2中第一页位置插入从Pdf1中绘制的模板

    pdf2.getPages().insert(0,size,new PdfMargins(0,0));

    pdf2.getPages().get(0).getCanvas().drawTemplate(template,new Point(0,0));

    //保存pdf2

    pdf2.saveToFile("output/result1.pdf",FileFormat.PDF);

    pdf2.dispose();

    }

    }

    复制效果:

    631fd8f586cfccf870493aafb61f2c9b.png

    Part 2 在同一个文档内复制

    import com.spire.pdf.*;

    import com.spire.pdf.graphics.PdfMargins;

    import com.spire.pdf.graphics.PdfTemplate;

    import java.awt.*;

    import java.awt.geom.Dimension2D;

    public class Copy2 {

    public static void main(String[] args) {

    //加载测试文档

    PdfDocument pdf = new PdfDocument("C:\\Users\\Test1\\Desktop\\File1.pdf");

    //获取第一页,并将于页面创建模板

    PdfPageBase page = pdf.getPages().get(0);

    Dimension2D size = page.getSize();

    PdfTemplate template = page.createTemplate();

    //在文档末循环添加两张绘制好的页面模板

    for(int i=0; i<2; i++){

    page = pdf.getPages().add(size, new PdfMargins(0));

    page.getCanvas().drawTemplate(template, new Point(0, 0));

    }

    //在第一页插入一张绘制好的页面模板

    pdf.getPages().insert(0,size,new PdfMargins(0,0));

    pdf.getPages().get(0).getCanvas().drawTemplate(template,new Point(0,0));

    //保存文档

    pdf.saveToFile("output/result2.pdf",FileFormat.PDF);

    }

    }

    复制效果:

    8cbc636f6ddb7d97cb3542cb9e181c0a.png

    【示例2】压缩文档

    Part 1 压缩文档内容

    import com.spire.pdf.*;

    public class CompressPDFContent {

    public static void main(String[] args) {

    //加载PDF示例文档

    PdfDocument document = new PdfDocument("C:\\Users\\Test1\\Desktop\\Sample.pdf");

    //禁用incremental update

    document.getFileInfo().setIncrementalUpdate(false);

    //设置PDF文档的压缩级别

    document.setCompressionLevel(PdfCompressionLevel.Best);

    //保存并关闭文档

    document.saveToFile("output/CompressPDFcontent.pdf");

    document.close();

    }

    }

    压缩效果:

    a956af0570e5c4ec61fc658a6fb22be3.png

    Part 2 压缩文档中的图片

    首先提起原PDF文档中的图片,通过降低图片质量使图片变小,然后用缩小后的图片替换原文档中的图片来减小PDF文档的大小。

    import com.spire.pdf.*;

    import com.spire.pdf.exporting.PdfImageInfo;

    import com.spire.pdf.graphics.PdfBitmap;

    public class CompressPDFImage {

    public static void main(String[] args) {

    //加载PDF文档

    PdfDocument document = new PdfDocument("C:\\Users\\Test1\\Desktop\\Sample2.pdf");

    //禁用incremental update

    document.getFileInfo().setIncrementalUpdate(false);

    //遍历文档所有页面

    for (int i = 0; i < document.getPages().getCount(); i++) {

    //提取页面中的图片

    PdfPageBase page = document.getPages().get(i);

    PdfImageInfo[] images = page.getImagesInfo();

    if (images != null && images.length > 0)

    //遍历所有图片

    for (int j = 0; j < images.length; j++) {

    PdfImageInfo image = images[j];

    PdfBitmap bp = new PdfBitmap(image.getImage());

    //降低图片的质量

    bp.setQuality(20);

    //用压缩后的图片替换原文档中的图片

    page.replaceImage(j, bp);

    }

    }

    //保存并关闭文档

    document.saveToFile("output/CompressPDFImage.pdf");

    document.close();

    }

    }

    压缩效果:

    490bbd1ab95fec19ed51646309c84b9c.png

    (本文完)

    展开全文
  • java使用itext生成pdf文件,文件大小压缩,比如大小34M变成1M或更小,
  • 现在职场中许多人在写文件的时候都喜欢使用PDF格式文件,因为这种文件安全性高、阅读性好。可是生成的PDF文件体积都很大,...下面我们就一起来学习压缩PDF文件简单又快速的方法。方法一:使用PDF编辑器我们在编辑...

    现在职场中许多人在写文件的时候都喜欢使用PDF格式文件,因为这种文件安全性高、阅读性好。可是生成的PDF文件体积都很大,往往无法传输给领导或者同事。这种情况下,很多人选择将PDF文件进行压缩。如何将PDF文件压缩呢?PDF文件压缩有没有什么方法?PDF文件压缩的方法有很多,但是其中的一些简单方法大家应该还不了解。下面我们就一起来学习压缩PDF文件简单又快速的方法。

    b08e486c95c5f2479185ea5ec70204a3.png

    方法一:使用PDF编辑器

    我们在编辑PDF文件时使用到的PDF编辑器就可以将PDF文件压缩。首先在PDF编辑软件中打开一个要压缩的PDF文件。然后点击上方的“文件”并选择“文件”中的“另存为其他”。在“另存为其他”的下级菜单中选择“缩小大小的PDF”。

    118824fc62c2058a08aeb84349e27abc.png

    接着PDF编辑器界面会 出现“减小文件大小”的窗口,我们在这个窗口中选择PDF兼容的版本为“保留当前压缩”。选择完成后点击“确定”即可完成转换。这个压缩方法很简单,但是压缩文件的效果一般。

    bf71dd41aec423052bd7d53cde920f05.png

    方法二:借助PDF转换器

    借助PDF转换器压缩PDF文件应该是最简单最快速的一个方法了。PDF转换器的主要功能是完成PDF文件格式的转换,同时也具备有PDF压缩、PDF合并、PDF拆分等功能。怎么在PDF转换器中压缩PDF文件呢?第一步我们打开嗨格式PDF转换器并点击主界面的“PDF压缩”。

    7deabac4363aee04a1f5edb0c2ecadcd.png

    进入PDF压缩界面之后,将我们的PDF文件添加到中间的空白列表区域。文件添加好后就需要设置PDF文件的压缩等级。压缩等级分为普通压缩和高级压缩,PDF文件在添加后是默认普通压缩的,在添加好文件后会直接显示压缩后的文件大小。如果我们需要将文件压缩的更小或者有指定的文件大小,我们就可以选择高级压缩。在高级压缩中可以自己调整压缩后的PDF文件大小。需要注意的是文件压缩的越小,清晰度越低。

    db292439cec299ffa52c5876e1820029.png

    压缩等级设置完成后,我们点击“开始压缩”。可以在PDF文件的状态栏中看到PDF文件压缩的进度。

    7f02ea28d9b92e043a5294397a65201c.png

    PDF文件很快就能够压缩完成,压缩完成会出现一个提示框。点击这个提示框中的“打开文件”就可以直接找到压缩后的PDF文件。这个方法怎么样?是不是既简单又快速?

    d871a676280a68da6255f298f7e9f4f2.png

    方法三:使用PDF在线压缩平台

    PDF在线压缩平台也可以将我们的PDF文件进行压缩。我们首先进入PDF在线压缩平台,选择其中的“压缩PDF”工具并进入“PDF压缩”的界面。

    06a8429759bbfe7f7a1b660e902d3239.png

    在“PDF压缩“的界面中,我们点击中间的”选择文件“。在出现的”打开“窗口中挑选自己需要转换的PDF文件添加到在线压缩平台中,也可以直接将PDF文件拖放到里面。

    8d0c7dc5f0376acc7798fe7c29bb34be.png

    不过这里一次只可以上传一份PDF文件进行压缩哦~接着界面会显示“上传中”。在PDF文件上传的过程中,PDF在线压缩平台会直接压缩文件。由于平台的不稳定,经常也会出现文件压缩失败的状况。

    261345074df083dc0d4236fb1f69ed52.png

    以上就是今天分享的PDF文件压缩方法。大家学会如何将PDF文件压缩了吗?学会的小伙伴赶紧动手去试一试这些方法完成PDF压缩吧!

    展开全文
  • 在前文中我使用Java程序来演示过如何合并和拆分PDF文档。本文将介绍如何复制和压缩文档。通常复制文档有两种形式,一种是跨文档复制,即将一个文档复制到另一个文档中;另一种则是在同一个文档中进行页面复制。压缩...
  • 压缩PDF文件大小其实很简单的,用对了方法分分钟就可以完成了。那么我们要如何压缩PDF文件?PDF文件有要怎么压缩到指定的大小呢?一起来看看下面这些方法。方法一:PDF转换工具压缩法借助工具:嗨格式PDF转换器PDF...
  • 如何将PDF压缩到指定大小?我们在工作中的PDF文件发送给同事时,应该都会遇到文件传输很慢的问题,看着发送文件进度条很久才走一点,真的很着急哎~造成这个问题的原因最大可能就是发送的文件体积太大。想要解决这个...
  • 它提供在线图片压缩PDF压缩PDF合并、PDF分割的服务,支持批量处理、打包下载。网站无需注册,页面简洁美观、无广告,没有任何多余的干扰信息。只需要上传、处理、下载,三步即可搞定你的文档处理。图片压缩...
  • 在前文中我使用Java程序来演示过如何合并和拆分PDF文档。本文将介绍如何复制和压缩文档。通常复制文档有两种形式,一种是跨文档复制,即将一个文档复制到另一个文档中;另一种则是在同一个文档中进行页面复制。压缩...
  • 现在在很多的网站上传文件的时候,不知道大家有没有遇到因为pdf文件太大,不能上传这种情况。还有很多限制PDF文件大小,由于PDF...但是大家一定要注意了,压缩pdf文件不能按照我们想要的大小去设定,因为pdf源文件...
  • “发送功能”作为数码复合机的一个重要功能,在企业办公中有着非常重要的地位,将纸质文档通过输稿器扫描后,就可以将电子版文件发送并存储到...佳能数码复合机的发送界面佳能的高压缩PDF技术,解决了彩色扫描文件...
  • 项目中需要将文件大小过大的PDF文件,压缩成小PDF文件。通过iText的API,可以实现此需求。在保证文件不失真的前提下,将PDF大文件压缩成小文件。 二、代码 import com.itextpdf.text.DocumentException; import ...
  • 如题,通过代码可以将现有的PDF,比如100m大小的文件缩小到80m,不是压缩成zip或者rar. 在网上找了很多,一点代码都没有可以参考的。求大神指点
  • 各位大神,需求是这样的,java从本地读取各种Word和pdf等文件(文件里包含图片),并解析 拼成html字符串返回前台,后台图片解析后是处理成base64字符串通过图片的src属性传 递的,现在的问题是,在谷歌浏览器下没有问题,ie...
  • 4、生成一个PDF文件:D:\\zhouyl\\BTImagePDF.pdf,第一列为文字,第二列为图片(pdfTable),并自动调整图片大小 5、生成一个PDF文件:D:\\zhouyl\\BTPdf.pdf,显示单元格表头和每一列的数据 6、将XML文件:D:/...
  • 如何把图片合并成一个pdf,并且压缩图片大小至200以下,并且图片不失帧。 /** * 合并图片转成pdf * * @param inputImgUrls * @param outputFileName * @throws IOException */ public static String ...
  • 让我们探索以下PDF大小压缩和优化方案,您可以将其合并到Java应用程序中: 使用Java优化Web的PDF文档 使用Java优化或压缩包含图像的PDF的大小 使用Java缩小,压缩和调整所有图像的大小 删除嵌入式字体,未使用...
  • Java程序员的基本修养(PDF版)

    热门讨论 2014-04-18 12:38:56
    《疯狂 java 程序员的基本修养》归纳了java学习者、工作者在学习、工作过程中最欠缺的技术短板,本书把java编程中的重点、要点、难点、常见陷阱收集在一起...这个资源是PDF的,因为上传文件大小有限制,所以进行了压缩
  • 今天收到一个任务,老板让将PDF格式的电子书上传到平台售卖,当我上传的时候发现平台对上传电子书大小有要求,不能超过100MB,但是我们的PDF足足有200MB左右,于是我开始搜罗各种PDF转化工具,嗯,给大家分享一下...
  • java范例开发大全(pdf&源码)

    热门讨论 2013-07-04 13:04:40
    实例81 按字母顺序比较大小 110 实例82 首尾相连 111 实例83 字符串间的比较 112 实例84 字符集的解码方法 113 实例85 寻找指定字符第一次出现的位置 114 实例86 寻找指定字符最后出现的位置 115 实例87 我究竟有多...
  • 本书是为高清扫描版,PDF 格式,大小 19MB,带有 PDF 书签,方便读者朋友阅读。 本书是绝版书,本资源附带原书光盘内容。 内容简介:  本书作者曾因本书荣获专业技术杂志《java report》评选的优秀作者奖。细心的...
  • java源码包---java 源码 大量 实例

    千次下载 热门讨论 2013-04-18 23:15:26
     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
  • 算法 Java实现 第四版 PDF格式 中文版 高清扫描版 Robert Sedgewick 著 算法经典书籍 作者: 塞奇威克 (Robert Sedgewick) / 韦恩 (Kevin Wayne) 出版社: 人民邮电出版社 原作名: Algorithms 4th edition 译者: 谢...
  • PDF格式扫描版,共压缩为5部分,这是第1部分。 内容简介 本系列图书包括第I卷、第II卷共计1200个例子,本文档是第I卷,共计603个例子。本书以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了...
  • PDF格式扫描版,共压缩为5部分,这是第4部分。 内容简介 本系列图书包括第I卷、第II卷共计1200个例子,本文档是第I卷,共计603个例子。本书以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了...
  • PDF格式扫描版,共压缩为5部分,这是第2部分。 内容简介 本系列图书包括第I卷、第II卷共计1200个例子,本文档是第I卷,共计603个例子。本书以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了...
  • PDF格式扫描版,共压缩为5部分,这是第3部分。 内容简介 本系列图书包括第I卷、第II卷共计1200个例子,本文档是第I卷,共计603个例子。本书以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了...
  • PDF格式扫描版,共压缩为5部分,这是第5部分。 内容简介 本系列图书包括第I卷、第II卷共计1200个例子,本文档是第I卷,共计603个例子。本书以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了...

空空如也

空空如也

1 2 3 4 5
收藏数 83
精华内容 33
关键字:

java压缩pdf大小

java 订阅