我的程序根据要求生成相对简单的PDF文档,但是我遇到了unicode字符的麻烦,比如汉字或奇数数学符号.要在PDF中编写普通字符串,请将其放在括号中:
(something)
Run Code Online (Sandbox Code Playgroud)
还可以选择使用八进制代码转义字符:
(\527)
Run Code Online (Sandbox Code Playgroud)
但这最多只能达到512个字符.你如何编码或逃避更高的字符?我已经看到了对字节流和十六进制编码字符串的引用,但我读过的所有引用似乎都不愿意告诉我如何实际执行它.
编辑:或者,指向一个好的Java PDF库,它将为我完成这项工作.我正在使用的是gnujpdf的一个版本(我修复了几个错误,因为原作者似乎已经破解了),这允许你针对AWT图形界面进行编程,理想情况下,任何替换应该做相同.
替代方案似乎是HTML - > PDF,或基于段落和方框的编程模型,感觉非常像HTML.iText是后者的一个例子.这意味着重写我现有的代码,我不相信他们会给我相同的灵活性.
编辑2:我之前没有意识到,但iText库有一个Graphics2D API,似乎完美地处理unicode,所以这就是我将要使用的.虽然它不是问题的答案,但它解决了我的问题.
编辑3: iText对我很有用.我想这一教训是,当面对一些看起来毫无意义的困难时,找一个比你更了解它的人.
我正在使用网络上的标准示例(http://www.20seven.org/journal/2008/11/pdf-generation-with-pisa-in-django.html)将django视图/模板转换为PDF.
是否有一种"简单"的方式在模板中包含图像(来自服务器上的URL或引用),以便它们显示在PDF上?
我想创建一个可以在Google的appengine上运行的应用程序.
但是,此应用程序需要能够动态生成PDF.
我怎么能这样做?
我试图通过FOP渲染大约100,000 - 80个列记录,并且它每次都很多(OutOfMemoryException).我知道iText可以处理这种负载但我不能使用它因为LGPL许可证.是否有任何替代Java库到iText可以处理大量数据到PDF?
起点:我没有可以提供静态文件的服务器.我有一个SVG元素(动态创建)<body>,我想导出为矢量格式,最好是PDF或SVG.
我开始考虑使用已经存在的lib jsPDF以及downloadify.它工作正常.不幸的是,这不支持SVG,只支持文本.
我已经阅读了PDF格式嵌入SVG图像的可能性,它似乎已经启用了Acrobat Reader 5(以及ImageViewer插件).但它不起作用.我试过3种不同的PDF阅读器但没有成功.
这是否意味着PDF已经放弃了SVG嵌入支持?我还没有找到任何相关内容.
我有两个问题; 这可以解决吗?如果是,那么在PDF中嵌入SVG的规范是什么?有了这些信息,我可以自己在jsPDF中构建支持.
浏览器支持需求包括Safari,Chrome和Firefox.支持SVG的版本.
我正在使用客户端/ javascript函数将现有的D3-SVG图保存或转换为文件.我经常搜索并找到一些建议,主要是使用canvas.toDataURL().
我没有<canvas>在我的页面中,而是使用:d3.select("body").append("svg")....
我也尝试将SVG附加到<canvas>但没有任何反应.
你能帮我解决这个例外:
Uncaught TypeError: Object #<SVGSVGElement> has no method 'toDataURL'
Run Code Online (Sandbox Code Playgroud)
谢谢
我尝试用Ghostscript拆分多页PDF,我在更多网站甚至ghostscript.com上找到了相同的解决方案,即:
gs -sDEVICE=pdfwrite -dSAFER -o outname.%d.pdf input.pdf
Run Code Online (Sandbox Code Playgroud)
但它似乎对我不起作用,因为它生成一个文件,包含所有页面,名称为outname.1.pdf.
当我添加起始页和结束页时,它工作正常,但我希望它在不知道这些参数的情况下工作.
在gs-devel存档中,我找到了一个解决方案:http:
//ghostscript.com/pipermail/gs-devel/2009-April/008310.html - 但我觉得没有这样做pdf_info.
例如pswrite,当我使用不同的设备但是相同的参数时,它可以正常工作,产生尽可能多的ps文件,就像我的
input.pdf所包含的那样.
使用时这是正常的pdfwrite吗?难道我做错了什么?
我正在使用Symfony2 Bundle KnpSnappyBundle将html twig模板转换为pdf.
KnpSnappyBundle基于Snappy包装器,使用wkhtmltopdf.
我的模板使用twitter bootstrap 2.3.2 css,如下所示:
<div class="container">
<div class="row">
<div class="span12">
<h4>TITLE</h4>
</div>
</div>
<div class="row">
<div class="span6" id="customers">
<h5>TITLE</h5>
<p>TEXT</p>
<ul class="unstyled">
<li>LIST ITEM</li>
<li>LIST ITEM</li>
<li>LIST ITEM</li>
<li>LIST ITEM</li>
</ul>
</div>
<div class="span6" id="estimate">
<h5>TITLE</h5>
<ul class="unstyled">
<li>LIST ITEM</li>
<li>LIST ITEM</li>
<li>LIST ITEM</li>
<li>LIST ITEM</li>
</ul>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
问题:客户和估计跨度不应该在同一条线上.我不知道发生了什么事.
您有没有人知道如何通过PHP创建格式良好的PDF发票?
理想情况下,我正在寻找带有标题的东西,然后是带有某种表格的产品的逐项列表.在快速推出谷歌之后,我会很自然地生成PDF,但尝试将其设计得很好,这将是另一回事.
谢谢
虽然它当然可以使用BaseColor,但默认情况下它提供的选择非常有限.
我想知道如何将自己的自定义颜色添加到文档中?
...
PdfPTable table = new PdfPTable(3);
PdfPCell cell = new PdfPCell(new Phrase("some clever text"));
cell.setBackgroundColor(BaseColor.GREEN);
table.addCell(cell);
...
Run Code Online (Sandbox Code Playgroud) pdf-generation ×10
pdf ×5
itext ×2
java ×2
svg ×2
css ×1
d3.js ×1
django ×1
ghostscript ×1
html ×1
image ×1
javascript ×1
php ×1
pisa ×1
unicode ×1
utf-8 ×1
wkhtmltopdf ×1