Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/ofdrw/ofdrw
Browse files Browse the repository at this point in the history
  • Loading branch information
DLTech21 committed Mar 14, 2022
2 parents a764cf7 + ca1d56d commit 174983d
Show file tree
Hide file tree
Showing 33 changed files with 246 additions and 79 deletions.
13 changes: 9 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
# OFD Reader & Writer

![-](https://img.shields.io/badge/language-java-orange.svg) [![license](https://img.shields.io/badge/license-Apache--2.0-blue)](./LICENSE)
![-](https://img.shields.io/badge/language-java-orange.svg)

[![license](https://img.shields.io/badge/license-Apache--2.0-blue)](./LICENSE)

在使用OFDRW前请务必悉知 [***《OFD Reader & Writer免责声明》***](免责声明.md)

在使用OFDRW前,请务必悉知 [***《OFD Reader & Writer免责声明》***](免责声明.md)


> 如果clone和预览存在困难,请移步 [https://gitee.com/ofdrw/ofdrw](https://gitee.com/ofdrw/ofdrw)
Expand Down Expand Up @@ -37,7 +39,7 @@
<dependency>
<groupId>org.ofdrw</groupId>
<artifactId>ofdrw-full</artifactId>
<version>1.17.10</version>
<version>1.17.11</version>
</dependency>
```

Expand Down Expand Up @@ -122,7 +124,10 @@ OFD Reader and Writer 安卓平台解决方案: [DLTech21/ofdrw-aar . https://

## 源码安装

在项目根目录下运行

> 支持 ***JDK 1.8*** 及以上版本构建。
在项目根目录下运行:

```bash
mvn install
Expand Down
2 changes: 1 addition & 1 deletion ofdrw-converter/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ pom引入相关模块
<dependency>
<groupId>org.ofdrw</groupId>
<artifactId>ofdrw-converter</artifactId>
<version>1.17.10</version>
<version>1.17.11</version>
</dependency>
```

Expand Down
2 changes: 1 addition & 1 deletion ofdrw-converter/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ofdrw</artifactId>
<groupId>org.ofdrw</groupId>
<version>1.17.10</version>
<version>1.17.11</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,12 @@
import org.jetbrains.annotations.Nullable;
import org.ofdrw.converter.font.*;
import org.ofdrw.converter.utils.OSinfo;
import org.ofdrw.core.Holder;
import org.ofdrw.core.basicType.ST_Loc;
import org.ofdrw.core.text.font.CT_Font;
import org.ofdrw.reader.ResourceLocator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.xml.ws.Holder;
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
Expand Down
12 changes: 6 additions & 6 deletions ofdrw-converter/src/test/java/HelloWorld.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@ public class HelloWorld {
public static void main(String[] args) {

FontLoader.getInstance()
.addAliasMapping(null, "小标宋体", "方正小标宋简体", "方正小标宋简体")
.addAliasMapping(null, "KaiTi_GB2312", "楷体", "楷体")
.addAliasMapping("小标宋体", "方正小标宋简体")
.addAliasMapping("KaiTi_GB2312", "楷体")

.addSimilarFontReplaceRegexMapping(null, ".*Kai.*", null, "楷体")
.addSimilarFontReplaceRegexMapping(null, ".*SimSun.*", null, "SimSun")
.addSimilarFontReplaceRegexMapping(null, ".*Song.*", null, "宋体")
.addSimilarFontReplaceRegexMapping(null, ".*MinionPro.*", null, "SimSun");
.addSimilarFontReplaceRegexMapping( ".*Kai.*", "楷体")
.addSimilarFontReplaceRegexMapping( ".*SimSun.*", "SimSun")
.addSimilarFontReplaceRegexMapping( ".*Song.*", "宋体")
.addSimilarFontReplaceRegexMapping( ".*MinionPro.*", "SimSun");

FontLoader.setSimilarFontReplace(true);

Expand Down
2 changes: 1 addition & 1 deletion ofdrw-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ofdrw</artifactId>
<groupId>org.ofdrw</groupId>
<version>1.17.10</version>
<version>1.17.11</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
29 changes: 29 additions & 0 deletions ofdrw-core/src/main/java/org/ofdrw/core/Holder.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package org.ofdrw.core;

import java.io.Serializable;

/**
* 外壳对象,用于解决 lambda语法作用域导致的赋值问题。
*
* @author 权观宇
* @since 2022-03-04 22:07:53
*/
public final class Holder<T> implements Serializable {

/**
* 持有对象
*/
public T value;

public Holder() {
}

/**
* 构造外壳对象
*
* @param value 待编辑的值
*/
public Holder(T value) {
this.value = value;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -320,8 +320,9 @@ public CT_DrawParam setFillColor(CT_Color fillColor) {
this.removeOFDElemByNames("FillColor");
return this;
}
fillColor.setOFDName("FillColor");
this.set((Element) fillColor.clone());
FillColor color = new FillColor((Element) fillColor.clone());
color.setOFDName("FillColor");
this.set(color);
return this;
}

Expand Down Expand Up @@ -355,8 +356,9 @@ public CT_DrawParam setStrokeColor(CT_Color strokeColor) {
this.removeOFDElemByNames("StrokeColor");
return this;
}
strokeColor.setOFDName("StrokeColor");
this.set((Element) strokeColor.clone());
StrokeColor c = new StrokeColor((Element) strokeColor.clone());
c.setOFDName("StrokeColor");
this.set(c);
return this;
}

Expand Down
2 changes: 1 addition & 1 deletion ofdrw-crypto/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ofdrw</artifactId>
<groupId>org.ofdrw</groupId>
<version>1.17.10</version>
<version>1.17.11</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@
import org.apache.commons.io.FileUtils;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.ofdrw.core.Holder;
import org.ofdrw.core.basicType.ST_Loc;
import org.ofdrw.core.integrity.FileList;
import org.ofdrw.core.integrity.OFDEntries;
import org.ofdrw.pkg.container.OFDDir;
import org.ofdrw.pkg.tool.ElemCup;
import org.ofdrw.reader.ZipUtil;

import javax.xml.ws.Holder;
import java.io.File;
import java.io.IOException;
import java.nio.file.*;
Expand Down
2 changes: 1 addition & 1 deletion ofdrw-font/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ofdrw</artifactId>
<groupId>org.ofdrw</groupId>
<version>1.17.10</version>
<version>1.17.11</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion ofdrw-full/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ofdrw</artifactId>
<groupId>org.ofdrw</groupId>
<version>1.17.10</version>
<version>1.17.11</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion ofdrw-gm/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ofdrw</artifactId>
<groupId>org.ofdrw</groupId>
<version>1.17.10</version>
<version>1.17.11</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion ofdrw-gv/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ofdrw</artifactId>
<groupId>org.ofdrw</groupId>
<version>1.17.10</version>
<version>1.17.11</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>ofdrw-gv</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion ofdrw-gv/src/main/java/org/ofdrw/gv/GlobalVar.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,5 @@ final public class GlobalVar {
/**
* OFD Reader and Writer 版本号
*/
public static final String Version = "1.17.10";
public static final String Version = "1.17.11";
}
2 changes: 1 addition & 1 deletion ofdrw-layout/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<artifactId>ofdrw</artifactId>
<groupId>org.ofdrw</groupId>
<version>1.17.10</version>
<version>1.17.11</version>
</parent>
<artifactId>ofdrw-layout</artifactId>

Expand Down
5 changes: 3 additions & 2 deletions ofdrw-layout/src/main/java/org/ofdrw/layout/OFDDoc.java
Original file line number Diff line number Diff line change
Expand Up @@ -158,8 +158,9 @@ public OFDDoc(Path outPath) {
if (Files.isDirectory(outPath)) {
throw new IllegalArgumentException("OFD文件存储路径(outPath)不能是目录");
}
if (!Files.exists(outPath.getParent())) {
throw new IllegalArgumentException("OFD文件存储路径(outPath)上级目录 [" + outPath.getParent().toAbsolutePath() + "] 不存在");
final Path parent = outPath.getParent();
if (parent == null || !Files.exists(parent)) {
throw new IllegalArgumentException("OFD文件存储路径(outPath)上级目录 [" + parent + "] 不存在");
}
this.outPath = outPath;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
package org.ofdrw.layout.highlight;

import org.dom4j.DocumentException;
import org.junit.jupiter.api.Test;
import org.ofdrw.layout.OFDDoc;
import org.ofdrw.layout.edit.AdditionVPage;
import org.ofdrw.layout.element.Div;
import org.ofdrw.layout.element.Position;
import org.ofdrw.reader.OFDReader;
import org.ofdrw.reader.keyword.KeywordExtractor;
import org.ofdrw.reader.keyword.KeywordPosition;

import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;

/**
* 高亮 显示关键字定位
*
* @author 权观宇
* @since 2022-03-04 23:02:08
*/
public class TestHighlight {

/**
* 关键自定位 绘制图形
*/
@Test
public void testLocKW() throws IOException, DocumentException {

//签署文档路径
Path src = Paths.get("src/test/resources/keyword2.ofd");
// 签署输出路径
Path out = Paths.get("target/put_rect.ofd");

String[] keyword = {"销售方", "价金", "项目名称"};
try (OFDReader reader = new OFDReader(src)) {
List<KeywordPosition> positionList = KeywordExtractor.getKeyWordPositionList(reader, keyword);
try (OFDDoc ofdDoc = new OFDDoc(reader, out)) {
final AdditionVPage vPage = ofdDoc.getAVPage(1);
for (KeywordPosition pos : positionList) {
Div e = new Div(pos.getBox().getWidth(), pos.getBox().getHeight())
.setPosition(Position.Absolute)
.setX(pos.getBox().getTopLeftX()).setY(pos.getBox().getTopLeftY())
.setBackgroundColor(0, 255, 0)
.setOpacity(0.5d);
vPage.add(e);
}
}
}
System.out.println(">> " + out.toAbsolutePath());
}

/**
* 关键自定位 绘制图形
*/
@Test
public void testLocKW2() throws IOException, DocumentException {

//签署文档路径
Path src = Paths.get("src/test/resources/keyword.ofd");
// 签署输出路径
Path out = Paths.get("target/put_rect_2.ofd");

String[] keywords = {"办理", "不动产权"};
try (OFDReader reader = new OFDReader(src)) {
List<KeywordPosition> positionList = KeywordExtractor.getKeyWordPositionList(reader, keywords);
try (OFDDoc ofdDoc = new OFDDoc(reader, out)) {
final AdditionVPage vPage = ofdDoc.getAVPage(1);
for (KeywordPosition pos : positionList) {
Div e = new Div(pos.getBox().getWidth(), pos.getBox().getHeight())
.setPosition(Position.Absolute)
.setX(pos.getBox().getTopLeftX()).setY(pos.getBox().getTopLeftY())
.setBackgroundColor(0, 255, 0)
.setOpacity(0.5d);
vPage.add(e);
}
}
}
System.out.println(">> " + out.toAbsolutePath());
}
}
Binary file added ofdrw-layout/src/test/resources/keyword.ofd
Binary file not shown.
Binary file added ofdrw-layout/src/test/resources/keyword2.ofd
Binary file not shown.
2 changes: 1 addition & 1 deletion ofdrw-pkg/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ofdrw</artifactId>
<groupId>org.ofdrw</groupId>
<version>1.17.10</version>
<version>1.17.11</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<description>OFD文件的容器以及用于文档的打包</description>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.ofdrw.core.Holder;
import org.ofdrw.core.annotation.pageannot.PageAnnot;
import org.ofdrw.core.basicStructure.pageObj.Page;
import org.ofdrw.core.basicStructure.res.Res;
import org.ofdrw.core.basicType.ST_Loc;

import javax.xml.ws.Holder;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.nio.file.Files;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.ofdrw.core.Holder;
import org.ofdrw.core.basicStructure.pageObj.Page;
import org.ofdrw.core.basicType.ST_Loc;

import javax.xml.ws.Holder;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.nio.file.Files;
Expand Down
2 changes: 1 addition & 1 deletion ofdrw-reader/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>ofdrw</artifactId>
<groupId>org.ofdrw</groupId>
<version>1.17.10</version>
<version>1.17.11</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
Loading

0 comments on commit 174983d

Please sign in to comment.