在我的Java应用程序中,我想下载一个JPEG,将其传输到PNG并对结果字节做一些事情.
我几乎可以肯定我记得有一个库存在这个,我不记得它的名字了.
我有一个网站,它使用SVG作为交互式客户端thingamabob.我想提供下载完成输出的PDF的选项.我可以将最终的SVG输出传递回服务器,我想将其转换为PDF,然后将其返回给客户端进行下载.
这将需要在无头共享Linux服务器上工作,其中安装或编译要么是巨大的痛苦,要么是不可能的.该网站是PHP,因此理想的解决方案是PHP,或使用易于安装在共享网络服务器上的软件.可以使用Python,perl和ruby,以及你在linux盒子上可能会遇到的常见事情.涉及cairo,脚本inkscape或比"FTP up"更复杂的安装的解决方案可能已经完成.花费大量资金也很自然.由于这是一个共享服务器,内存和/或CPU饥饿的解决方案也已经淘汰,因为它们往往会被杀死; 这或多或少地排除了蜡染.
到目前为止,我最接近的是这个XSL转换,我可以从PHP驱动,然后通过ps2pdf(已经安装)喷出生成的postscript.唯一的问题是它不支持SVG路径 - 如果确实如此,它将是完美的.
StackOverflow上有很多或相关的问题,我已经读完了所有这些问题,但他们都认为你可以安装东西,花钱,或两者兼而有之.
有没有人有这个现成的解决方案,或者我是否应该花一些停机时间尝试为该XSL转换添加路径支持?
谢谢,Dunc
我被困住了。目前,我正在尝试模拟从应该是TIFF图像的数据库中提取二进制Blob。我在image变量中使用这个要点image.tif来做到这一点。我很确定我即将实现这一目标。问题可能与我将字符串转换为字节数组或其他方式有关。基本上,该应用程序引发异常,说明它无法创建具有0帧的PDF。在这一点上,我必须承认,我可能对此不屑一顾。有人会这么友善,并在这方面帮助我吗?
该代码包括在下面:
using System;
using System.Drawing;
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using System.IO;
using System.Drawing.Imaging;
using System.Text;
namespace ConvertTifToPDFFile
{
class Program
{
static void Main(string[] args)
{
string image = "";
byte[] imageAsByteStream = Encoding.ASCII.GetBytes(image);
int imageByteStreamLength = imageAsByteStream.Length;
string base64EncodedImage = Convert.ToBase64String(imageAsByteStream);
imageAsByteStream = Encoding.ASCII.GetBytes(base64EncodedImage);
Stream imageStream = TiffImageSplitter.ByteArrayToMemoryStream(imageAsByteStream);
// Image splitImage = TiffImageSplitter.getTiffImage(imageStream, 1);
TiffImageSplitter.tiff2PDF(imageStream);
}
}
public class TiffImageSplitter
{
private static TiffImageSplitter tiff = new TiffImageSplitter();
public static void tiff2PDF(Stream imageByteStream)
{
PdfDocument doc …Run Code Online (Sandbox Code Playgroud)