python处理.net 18位时间戳
平时我们使用的时间时间戳一般都是13位带毫秒数和10位不带毫秒数的。.net有个 ticks 的概念,是18位的时间戳。
意义是从公元1月1日零点开始的,到现在有多少个100纳秒。
这个 ticks * 100 为纳秒数,然后除以 1000 变为微秒数。
1 | from datetime import * |
平时我们使用的时间时间戳一般都是13位带毫秒数和10位不带毫秒数的。.net有个 ticks 的概念,是18位的时间戳。
意义是从公元1月1日零点开始的,到现在有多少个100纳秒。
这个 ticks * 100 为纳秒数,然后除以 1000 变为微秒数。
1 | from datetime import * |
我们使用 apache 的 pdfbox 工具,来处理 pdf。在把 pdf 转图片时,会遇到如下一些问题。
1 | WARN 8776 --- [ main] o.a.pdfbox.pdmodel.font.PDType0Font : No Unicode mapping for CID+3585 (3585) in font DJXXII+PingFangSC-Regular |
这个应该是找不到字体,不过是 WARN 级别,在这里可以不用太在意。我找到很多方法,也没能解决掉这个警告。
处理字体时,需要加入以下依赖。
1 | <dependency> |
1 | ERROR 8776 --- [ main] o.a.p.contentstream.PDFStreamEngine : Cannot read JBIG2 image: jbig2-imageio is not installed |
需要添加如下依赖:
1 | <dependency> |
1 | ERROR 9074 --- [ main] o.a.p.contentstream.PDFStreamEngine : Cannot read JPEG2000 image: Java Advanced Imaging (JAI) Image I/O Tools are not installed |
需要添加如下依赖:
1 | <dependency> |
jai-imageio-jpeg2000
会依赖相同版本的 jai-imageio-core
,但我们可以使用最新版本的 jai-imageio-core
。
1 | <dependency> |
查如下代码,User 实体类有5个属性,如果属性再多一些,每次赋值时就非常麻烦。
1 | User user = new User(); |
如果使用 IntelliJ IDEA 的话,则可以安装 GenerateAllSetter 插件,一键生成所有 Setter 方法。
把光标放在 user 上面,然后使用快捷键 alt + enter
选择 Generate all setter with default value 就可以了,非常方便。