在PHP中具有16位颜色深度支持的Fly PDF创建中
-
24-09-2019 - |
题
我正在尝试在应用程序中即时创建PDF文档,即用户单击一个链接,并使用一些文本和一些图像向他们显示PDF文档。
我目前正在使用FPDF v1.6(http://www.fpdf.org/)支持24bit(true color)png,但我的问题是,这是一个旧应用程序,有1000的PNG具有16位颜色深度,FPDF不支持,我不能简单地转换,因此我不能简单地转换使用这些图像的应用。
我看到的唯一解决方案是:
- 将16位PNG图像转换为即将嵌入PDF。
- 找到一个新的PDF类,该类将接受16位颜色深度PNG。
有人有想法么?
解决方案
也许您可以尝试使用 TCPDF (从未与16位PNG一起使用它,但对其进行测试应该很容易)。
其他提示
在Python中解决了这一点:
def fix_16_bit_depth_not_supported(raw_image_path):
"""
fix
RuntimeError: FPDF error: 16-bit depth not supported: test.png
"""
new_file, filename = tempfile.mkstemp(suffix='.png')
os.close(new_file)
i = cv2.imread(raw_image_path, cv2.IMREAD_UNCHANGED)
img = np.array(i, dtype=np.float32)
convert = img / 255.
cv2.imwrite(filename, convert)
return filename
不隶属于 StackOverflow