修天年
修天年
报404是什么意思
Anybody know?Thank you very much。
[abc.pdf](https://github.com/TomRoush/PdfBox-Android/files/8321434/abc.pdf)
> > > > > 第一个图片是你提供的pdf文件,第二个图片是我的另一个发票pdf文件。 正常的pdf嵌入字体,unicode character和glyph是一一对应的,像第二个图片里那样。 你的pdf嵌入的宋体,glyph和unicode character对应关系是混乱的,glyph像是日文。 另外,导致错误的直接原因是你的pdf中嵌入字体缺少ToUnicode属性。正确的嵌入字体都应该包含这个属性,这个属性是告诉pdf解析程序,content stream中代表字符的code如何与unicode字符对应。 因为缺少这个属性,所以字符直接提取失败了。 我知道问题原因,是找不到宋体字库,但不清楚代码该怎么完善,麻烦你点播一下代码如何完善 PDDocument document = PDDocument.load(getAssets().open("abc.pdf")); //document.registerTrueTypeFontForClosing(); PDFRenderer renderer = new PDFRenderer(document); Bitmap pageImage = renderer.renderImage(0, 3f, ImageType.ARGB);...
> > > > 亲,不是代码的问题,是你提供的这个pdf文件不规范。你应该用规范的符合pdf标准的pdf文件来测试。 这个是税务局给出的发票,我用其他库PDFview是可以正常显示的,没有乱码现象。 另外,我pdbox的桌面版程序做了测试,也是正常显示与转化成图片的
>  我用pdfbox测试了你的这个文件,中文部分依然是无法输出的,另一个正常的发票pdf转图片后可以看到中文: [红米K40发票.pdf](https://github.com/TomRoush/PdfBox-Android/files/8338287/K40.pdf) > > pdfbox和pdfbox-android这两个库,都是只针对符合pdf标准的文件做了解析,对于不符合标准的文件,支持有限。其他的pdf阅读器,我知道的如Adobe Acrobat,针对不符合标准的文件也做了很多的额外的修复逻辑,所以可以经常看到,一些pdf在pdfbox中报错,Adobe Acrobat却能打开的现象。 > > pdfbox似乎目前没有针对不符合标准的文件做很多兼容的计划。pdfbox-android是pdfbox的迁移版本,似乎也没有这样的支持计划。 > > 如果你只是想将pdf转为图片的话,在Android端,我建议使用官方的android.graphics.pdf.PdfRenderer,支持API 21及以上,速度和兼容性都要比pdfbox-android好很多。我测试你这个文件可以在PdfRenderer中转图片后正常显示中文。 感谢你在百忙之中,测试我的问题,冒昧的问一下,我用PdfRenderer试了下,发现转成图片后右下角的签章不能显示出来,你那可以吗?可以的话,请教一下哪里可以设置
> 我试了下,你的这个pdf,我这里用PdfRenderer转图片也看不到右下角的红章。不过另一个发票pdf转了后能看到。 > 最简单的方法:要求pdf提供方提供符合标准的pdf文件吧 要求税务局给我标准的文件,这个不现实。而且,我试了下桌面版的pdfbox是没什么问题的   