冰蓝科技
|
028-81705109
|
|
微信扫一扫
|

Spire.Cloud 纯前端文档控件

本文介绍使用Spire.Presentation for Java删除PPT幻灯片中的图片。

import com.spire.presentation.*;

public class RemoveImages {
    public static void main(String[] args) throws Exception{
        //加载PPT文档
        Presentation ppt = new Presentation();
        ppt.loadFromFile("sample.pptx");

       //获取指定幻灯片
        ISlide slide = ppt.getSlides().get(1);

        //遍历幻灯片中的形状
        for( int i = 0; i< slide.getShapes().getCount();i++){
            IShape shape = slide.getShapes().get(i);
            //删除图片
            if(shape instanceof SlidePicture){
                SlidePicture pic = (SlidePicture) shape;
                slide.getShapes().remove(pic);
            }
        }

        //保存文档
        ppt.saveToFile("removeimgs.pptx", FileFormat.PPTX_2013);
        ppt.dispose();
    }
}

图片删除效果:

Java 删除 PPT 幻灯片中的图片

Spire.XLS for Java 3.7.5现已发布。此版本支持转换Excel到Tiff,同时它也修复了一些在Excel转PDF/图片/XML时出现的问题。更多详情参见下文。

新功能:

问题修复:


下载Spire.XLS for Java 3.7.5,请点击:

https://www.e-iceblue.cn/Downloads/Spire-XLS-JAVA.html

Spire.PDF for Java支持删除指定PDF子书签、指定PDF父书签及其子书签以及删除所有PDF书签,本文将介绍如何使用Spire.PDF for Java删除PDF书签。

原PDF文档:

Java 删除 PDF 书签

import com.spire.pdf.PdfDocument;

public class DeleteBookmarks {
    public static void main(String[] args) {
        //创建PdfDocument对象
        PdfDocument pdf = new PdfDocument();
        //加载PDF文档
        pdf.loadFromFile("AddBookmarks-zh.pdf");
	
        //删除第一个子书签
        pdf.getBookmarks().get(0).removeAt(0);

        //删除第一个书签及其子书签
        //pdf.getBookmarks().removeAt(0);

        //删除所有书签
        //pdf.getBookmarks().clear();

        //保存结果文档
        pdf.saveToFile("DeleteBookmarks-cn.pdf");
    }
}

删除第一个子书签后的结果PDF文档:

Java 删除 PDF 书签

该文将介绍如何使用Spire.XLS for Java在Excel工作表中添加文本水印和图片水印。Excel 水印在正常模式下不可见,仅在页面布局模式或打印预览模式可见。

import com.spire.xls.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import static java.awt.image.BufferedImage.TYPE_INT_ARGB;

public class ExcelWatermark {
    public static void main(String[] args)  {

        //加载示例文档
        Workbook workbook = new Workbook();
        workbook.loadFromFile("Sample.xlsx");

        //设置文本和字体大小
        Font font = new Font("仿宋", Font.PLAIN, 40);
        String watermark = "内部专用";

        for (Worksheet sheet : (Iterable<Worksheet>) workbook.getWorksheets()) {
            //调用DrawText() 方法插入图片
            BufferedImage imgWtrmrk = drawText(watermark, font, Color.pink, Color.white, sheet.getPageSetup().getPageHeight(), sheet.getPageSetup().getPageWidth());

            //将图片设置为页眉
            sheet.getPageSetup().setLeftHeaderImage(imgWtrmrk);
            sheet.getPageSetup().setLeftHeader("&G");

            //将显示模式设置为Layout
            sheet.setViewMode(ViewMode.Layout);
        }

        //保存文档
        workbook.saveToFile("Watermark.xlsx", ExcelVersion.Version2010);
    }
    private static BufferedImage drawText (String text, Font font, Color textColor, Color backColor,double height, double width)
    {
        //定义图片宽度和高度
        BufferedImage img = new BufferedImage((int) width, (int) height, TYPE_INT_ARGB);
        Graphics2D loGraphic = img.createGraphics();

        //获取文本size
        FontMetrics loFontMetrics = loGraphic.getFontMetrics(font);
        int liStrWidth = loFontMetrics.stringWidth(text);
        int liStrHeight = loFontMetrics.getHeight();

        //文本显示样式及位置
        loGraphic.setColor(backColor);
        loGraphic.fillRect(0, 0, (int) width, (int) height);
        loGraphic.translate(((int) width - liStrWidth) / 2, ((int) height - liStrHeight) / 2);
        loGraphic.rotate(Math.toRadians(-45));

        loGraphic.translate(-((int) width - liStrWidth) / 2, -((int) height - liStrHeight) / 2);
        loGraphic.setFont(font);
        loGraphic.setColor(textColor);
        loGraphic.drawString(text, ((int) width - liStrWidth) / 2, ((int) height - liStrHeight) / 2);
        loGraphic.dispose();
        return img;
    }
}

Excel工作表添加文本水印效果图:

Java 添加 Excel 文本水印和图片水印

Spire.PDF 6.7.12已发布。该版本新增了将PDF转为Excel是支持图表的功能,并修复了打印PDF文件、绘制页面内容以及获取图片时出现的一些问题。新功能及问题修复详情如下。

新功能:

问题修复:


获取Spire.PDF 6.7.12,请点击:

https://www.e-iceblue.cn/Downloads/Spire-PDF-NET.html

本文介绍使用Spire.PDF for Java来读取PDF中的书签。

import com.spire.pdf.*;
import com.spire.pdf.bookmarks.PdfBookmark;
import com.spire.pdf.bookmarks.PdfBookmarkCollection;

import java.io.FileWriter;
import java.io.IOException;

public class GetBookmark {
    public static void main(String[] args) {
        //加载包含书签的PDF文档
        PdfDocument pdf = new PdfDocument();
        pdf.loadFromFile("AddBookmarks.pdf");

        //获取书签集合
        PdfBookmarkCollection bookmarkCollection = pdf.getBookmarks();

        //实例化StringBuilder类
        StringBuilder stringbuilder = new StringBuilder();

        //定义方法获取书签
        GetBookmarkTitle(bookmarkCollection, stringbuilder);

        //声明txt文件,并将获得的多级书签写入到文件.txt
        FileWriter writer;
        try {
            writer = new FileWriter("读取的书签.txt");
            writer.write(stringbuilder.toString());
            writer.flush();
        } catch (IOException e) {
            e.printStackTrace();
        }
        pdf.dispose();
    }
    //定义方法获取书签标题
static void GetBookmarkTitle(PdfBookmarkCollection bookmarkCollection, StringBuilder stringbuilder)
    {
        if (bookmarkCollection.getCount()> 0)
        {
            for(int i = 0 ; i< bookmarkCollection.getCount(); i++ )
            {
                PdfBookmark parentBookmark = bookmarkCollection.get(i);
                stringbuilder.append(parentBookmark.getTitle());
                //递归文档多级书签
                GetBookmarkTitle(parentBookmark, stringbuilder);
            }
        }
    }
}

书签读取结果:

Java 读取 PDF 中的书签

Spire.Presentation for Java 3.7.9于今日发布。该版本具备了一些新功能,比如,它支持获取PPT的节。除此之外,它也解决了一些在PPT转PDF/Image,加载及操作PPT文档时遇到的问题。详情见下文。

新功能:

问题修复:


获取Spire.Presentation for Java 3.7.9,请点击:

https://www.e-iceblue.cn/Downloads/Spire-Presentation-JAVA.html

Excel 工作表中的批注是基于单元格的附加内容,可隐藏或以对话框显示在单元格旁。Excel 批注通常用于对单元格中的内容进行解释,也可以用于对阅读者进行提示等。批注添加到单元格中后,用户还可以对其进行显示、隐藏等设置,同时还可以对其进行编辑或删除等操作。本文将介绍如何使用 Spire.XLS for Java 通过代码编辑或删除 Excel 工作表中的批注。

安装 Spire.XLS for Java

首先,您需要在 Java 程序中添加 Spire.Xls.jar 文件作为一个依赖项。您可以从此链接下载 JAR 文件。如果您使用 Maven,则可以通过在 pom.xml 文件中添加以下代码轻松导入该 JAR 文件。

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls</artifactId>
        <version>16.9.2</version>
    </dependency>
</dependencies>

编辑 Excel 工作表中的批注

添加批注但 Excel 工作表中的单元格后,我们可能需要对其进行更改。以下表格中的类和方法可以获取单元格中的批注,并设置新的批注文字或批注格式。

类或方法 说明
ExcelCommentObject 类 代表 Excel 工作表中的批注。
CellRange.getComment() 方法 返回一个代表指定单元格范围内的批注的对象。
ExcelCommentObject.setText() 方法 设置批注的文字。
ExcelCommentObject.setHeight() 方法 设置批注对话框的高度。
ExcelCommentObject.setWidth() 方法 设置批注对话框的宽度。
ExcelCommentObject.setAutoSize() 方法 设置批注对话框是否自动调整为适应文字的高度和宽度。

编辑 Excel 工作表中的批注的操作步骤如下:

  • Java
import com.spire.xls.*;

public class modifyComment {
    public static void main(String[] args) {

        //创建Workbook类的对象
        Workbook wb = new Workbook();

        //载入Excel文件
        wb.loadFromFile("新员工信息.xlsx");

        //获取载入的工作簿的第一个工作表
        Worksheet sheet = wb.getWorksheets().get(0);

        //获取指定单元格的批注并设置新的批注文本
        sheet.getRange().get("A6").getComment().setText("Patrick下个月离职。");
        sheet.getRange().get("A4").getComment().setText("Martin上个月业绩最好。");

        //设置新批注的高度和宽度
        sheet.getRange().get("A6").getComment().setHeight(100);
        sheet.getRange().get("A6").getComment().setWidth(100);
        sheet.getRange().get("A4").getComment().setAutoSize(true);

        //保存文件
        wb.saveToFile("编辑批注.xlsx",ExcelVersion.Version2013);
        wb.dispose();
    }
}

Java 编辑或删除 Excel 工作表中的批注

删除 Excel 工作表中的批注

删除 Excel 工作表中批注的详细操作步骤如下:

  • Java
import com.spire.xls.*;

public class deleteComment {
    public static void main(String[] args) {

        //创建Workbook类的对象
        Workbook wb = new Workbook();

        //载入Excel文件
        wb.loadFromFile("新员工信息.xlsx");

        //获取载入的工作簿的第一个工作表
        Worksheet sheet = wb.getWorksheets().get(0);

        //获取指定单元格的批注并删除
        sheet.getRange().get("A4").getComment().remove();

        //保存文件
        wb.saveToFile("删除批注.xlsx", ExcelVersion.Version2013);
        wb.dispose();
    }
}

Java 编辑或删除 Excel 工作表中的批注

申请临时 License

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。

本文将介绍如何使用Spire.PDF for Java修改PDF文档中的现有书签,例如修改书签标题、字体颜色和字体样式。

import com.spire.pdf.PdfDocument;
import com.spire.pdf.bookmarks.PdfBookmark;
import com.spire.pdf.bookmarks.PdfTextStyle;
import com.spire.pdf.graphics.PdfRGBColor;

import java.awt.*;

public class EditBookmarks {
    public static void main(String[] args) {
        //创建PdfDocument实例
        PdfDocument doc = new PdfDocument();
        //加载PDF文档
        doc.loadFromFile("Bookmarks-cn.pdf");

        //获取第一个书签
        PdfBookmark bookmark = doc.getBookmarks().get(0);
        //修改书签的标题
        bookmark.setTitle("新标题");
        //修改书签的字体颜色
        bookmark.setColor(new PdfRGBColor(new Color(255,0,0)));
        //修改书签的字体样式
        bookmark.setDisplayStyle(PdfTextStyle.Bold);

        //修改第一个书签的子书签的字体颜色和字体样式
        for (PdfBookmark childBookmark : (Iterable<PdfBookmark>) bookmark) {
            childBookmark.setColor(new PdfRGBColor(new Color(0,0,255)));
            childBookmark.setDisplayStyle(PdfTextStyle.Italic);

            for (PdfBookmark childBookmark2 : (Iterable<PdfBookmark>) childBookmark) {
                childBookmark2.setColor(new PdfRGBColor(new Color(160,160,122)) );
                childBookmark2.setDisplayStyle(PdfTextStyle.Italic);
            }
        }

        //保存文档
        doc.saveToFile("EditBookmarks.pdf");
        doc.close();
    }
}

修改前后效果对比:

Java 修改 PDF 书签

本文将介绍如何使用Spire.PDF for Java在Java程序中为PDF文档中的图片设置透明度:

import com.spire.pdf.*;
import com.spire.pdf.graphics.*;
import java.awt.geom.*;
import java.awt.*;

public class ImageTransparency {
    public static void main(String[] args) {

        //创建PdfDocument对象
        PdfDocument doc = new PdfDocument();
        PdfSection section = doc.getSections().add();

        // 加载图片
        PdfImage image = PdfImage.fromFile("logo.png");
        double imageWidth = image.getPhysicalDimension().getWidth() / 3;
        double imageHeight = image.getPhysicalDimension().getHeight() / 3;

        //添加一页
        PdfPageBase page = section.getPages().add();
        float pageWidth = (float) page.getCanvas().getClientSize().getWidth();
        float y = 10;

        //标题文字
        y = y + 5;
        PdfBrush brush = new PdfSolidBrush(new PdfRGBColor(new Color(255,69,0)));
        PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("宋体", Font.BOLD,12));
        PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Center);
        String text = String.format("设置图片透明度");
        page.getCanvas().drawString(text, font, brush, pageWidth / 2, y, format);
        Dimension2D size = font.measureString(text, format);
        y = y + (float) size.getHeight() + 6;

        //设置图片透明度
        page.getCanvas().setTransparency(0.2f, 0.2f, PdfBlendMode.Normal);

        page.getCanvas().drawImage(image, 0, y, imageWidth, imageHeight);
        page.getCanvas().save();

        // 保存文档
        doc.saveToFile("output/Transparency.pdf");
        doc.close();
    }
}

设置图片透明度的效果图:

Java 设置 PDF 文档中的图片透明度