- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有不同的要求。我收到二进制文本形式的 TIFF 图像。我不知道是否可以称之为二进制文本。文本包含非 ASCII 字符,如下所示
0ÎÀi7°®èý¯Â£ôîÀk1 ü"»£ð‚£Ê£ðü»£ö¿
ŒGÓº?¬hÄr€kðŠîÂ
ŒG*Àkð
¸z «ÿ*ëÿ¢^˾6‚¢êZÒáÿì)eì"‚("¿ÿ€jPšÄ0?<À@Ã\=>P€ª ê¨Eý5?J†¤=oöÃ|(0Ã6ª™P†!*¯Ä0ÿ*¢uÝ¡0Šjþ &&—ÿ
+§¾È°Ã¡-s§‚2“³˜©Î{é¾pªXp%&ì;PËæ™4ºfŒ˜Îÿ Éû½)¨ŽV“þp¦IÇG˜bþñÿÿi•¼
所以,我厌倦了使用下面的代码使用 imageIO 读取此文本,但它会抛出错误。
String str = "Binary Mentioned Above";
byte[] b = str.getBytes();
ByteArrayInputStream in = new ByteArrayInputStream(b);
BufferedImage bImageFromConvert = ImageIO.read(in);
TIFFEncodeParam params = new TIFFEncodeParam();
File myNewTIFF_File = new File("C:\\Projects\\test\\combined.tif");
ImageIO.write(bImageFromConvert, "TIFF", myNewTIFF_File);
我收到的错误消息是
Exception in thread "main" java.lang.IllegalArgumentException: image == null!
现在浏览帖子,我发现并非所有 TIF 都可以使用 ImageIO 读取。所以我使用了一个在线代码,基本上可以将 TIFF 转换为 PDF。
public static String ImageToPDF(byte[] bytes, String pathFile) {
String fileName= pathFile + ".pdf";
Document document = null;
document = new Document();
try {
FileOutputStream fos = new FileOutputStream(fileName);
PdfWriter writer = PdfWriter.getInstance(document, fos);
writer.open();
document.open();
// Array of bytes we have read from the Binary file
RandomAccessFileOrArray ra = new RandomAccessFileOrArray(bytes);
System.out.println("ra ---- "+ra);
// Get the number of pages the the binary file have inside
int numberOfPages = TiffImage.getNumberOfPages(ra);
System.out.println("numberOfPages ------------ "+numberOfPages);
// Loop through numberOfPages and add them on the document
// one by one
for(int page = 1; page <= numberOfPages; page ++){
Image image = TiffImage.getTiffImage(new RandomAccessFileOrArray(bytes),page);
image.scaleAbsolute(500, 500);
document.add(image);
}
document.close();
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
return fileName;
}
public static void main(String[] args) throws IOException{
File imgFront = new File("C:\\Projects\\newtest.txt");
byte[] fileContent = Files.readAllBytes(imgFront.toPath());
//fileContent = File
ImageToPDF(fileContent,"C:\\Projects\\pdfWithImage");
}
我收到的错误为 Bad endianness tag (not 0x4949 or 0x4d4d)
。当我尝试读取 Tiff 中的页面时,此错误出现在 TiffImage.getNumberOfPages(ra);
行中。我使用 Mirth 工具验证了创建 tiff 的二进制文本,并且该 tiff 是有效的。我已经没有办法解决这个问题了。非常感谢任何帮助。
最佳答案
此问题已解决。发生此问题的原因是二进制文本未正确生成并导致了问题。
向客户端发出请求,以 Base64 编码格式发送数据。现在效果很好。二进制字符集出现的一个问题是所有非字符都被正确写入文件。这就是为什么任何程序语言都无法正确转换它的原因。
当我们收到 Base64 消息形式的数据时,直接使用 mirth 文件编写器即可解决问题。
感谢您为解决问题所做的一切努力。您的建议给了我们一个想法。
关于java - 使用 JAI 将 JAVA 中的二进制文本转换为 Tiff 图像/PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58727425/
我在我的应用程序中使用了 jai(Java Advance Imaging)。 当我使用 jai 设置时,我觉得我的图像处理速度更快,但它需要在用户计算机上安装这些设置。 当我使用 Jai 的 Jar
我正在尝试使用 javax.media.jai.JAI 读取 .tif 图像。这是我的代码: import javax.media.jai.JAI; import javax.media.jai.Re
JAI 的 FileLoad/FileStore 操作和 ImageRead/ImageWrite 操作有什么区别? 其中一套在任何方面都比另一套更好吗?哪些应该用作默认值? 最佳答案 FileLoa
我最近使用 GeoTools 开始了我的第一个程序,其中我还使用了 JAI-Java Advanced Imaging 1_1_2_01 和 JDK 1_7。 在我添加 GeoTiff Jars 之前
我正在使用 JAI 读取 java 中的 Tiff 文件。使用此代码: RenderedOp renderer = JAI.create("fileload", tifFilename); retur
我想知道是否有人有让 JAI 从多个平台的小程序自动安装的经验。我看过 http://java.sun.com/j2se/1.4.2/docs/guide/plugin/developer_guide
我正在使用 JAI 库对一系列图像进行调整,每个图像的大小约为 1300x1000。我使用“Rescale”调整像素强度,并使用 TiledImage.createGraphics() 方法中的 Gr
我正在此处查看现有的 Java CT 图像 显示程序。我尝试了解查找表在JAI中的工作原理。 来自JAI guide, section 7.6 ,我读到了这个: 输入像素值充当查找表输入的地址。查找表
我尝试保存 tiff 而不是彩色灰度。我怎么能这样做? (必须使用JAI,因为它是tiff!) 提前致谢并致以最诚挚的问候。 最佳答案 你想要的是下载 JAI Image I/O Tools ,它为
本文整理了Java中javax.media.jai.WarpPolynomial类的一些代码示例,展示了WarpPolynomial类的具体用法。这些代码示例主要来源于Github/Stackover
本文整理了Java中javax.media.jai.WarpAffine类的一些代码示例,展示了WarpAffine类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Mav
我已经读取了相当大的图像(jpeg)的应用程序,但只需要处理较小的图像,因此我使用类似的东西对它们进行子采样 ImageReadParam param = reader.getDefaultReadP
我正在尝试使用 JAI 创建一个由 4 个 TIF 图像组成的马赛克,每个图像的尺寸为 5000 x 5000。我编写的代码如下.. RenderedOp mosaic=null; P
我正在尝试使用 GeoTIFF-jai 库在 Java 中生成经过地理校正的光栅图像。我尝试在 SourceForge 网站上查找有关如何执行此操作的文档,但 SourceForge 说“不幸的是,该
JAI ImageIO-core 附带一组 native 编解码器。编解码器捆绑在一组 .so 和 .dll 文件中。主要是clib_jiio.dll clib_jiio_sse2.dll clib_
我正在尝试将多个图像串联成一个,但遇到了问题。为了隔离这个问题,我创建了以下 POC,我正在尝试解决该问题,以便了解如何使用 JAI API。 在 POC 中,我有两个图像“image1.gif”和“
我正在使用 JAI 向图像添加“边框”。例如 ParameterBlock pb = new ParameterBlock(); pb.addSource(r); pb.add(leftPad); p
我一直在使用 JAI 来写入和读取 TIFF 图像,但我最近在编码灰度图像时遇到了一个问题,我在每个 strip 的末尾得到 7 个黑色 (0) 像素 (8每条线数): 只有在使用下面的 SSCE 将
我想开发具有大量图像处理功能的程序。我想使用 Java 和 JAI,但在我看来,Jai 已经老了,不再进化了? ( http://java.sun.com/javase/technologies/de
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我是一名优秀的程序员,十分优秀!