我正在尝试从HTML内容创建PDF.
public byte[] generatePdf(final XhtmlPDFGenerationRequest request) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PDDocument document = new PDDocument();
InputStream stream = new ByteArrayInputStream(request.getContent()
.getBytes());
PDStream pdstream = new PDStream(document, stream);
document.save(baos);
document.close();
return this.toByteArray(baos);
}
Run Code Online (Sandbox Code Playgroud)
当我拿这个byte[]并保存到文件时,该文件是空白的.我PDStream用来将输入流嵌入到文档中
来自http://pdfbox.apache.org/apidocs/
public PDStream(PDDocument doc,
InputStream str)
throws IOException
Run Code Online (Sandbox Code Playgroud)
从输入流中读取所有数据并将其嵌入到文档中,这将关闭InputStream.
我的应用程序从属性文件加载了一些cron模式。我使用这样的@Scheduled注释:
@Scheduled(cron = "${config.cronExpression:0 0 11,23 * * *}")
现在我想禁用一些任务,最简单的解决方案是输入永远不会运行的cron模式。为此,我考虑过使用仅在过去特定日期执行的cron表达式。但不幸的是,Spring cron表达式不允许在过去添加年份或日期。
有没有永远不会运行的模式?
我们在生产中看到了这个间歇性问题。CPU 随机固定在 50%(2 核 CPU),并且永远不会回来。唯一的选择是重新启动服务器。\n这就是 Dynatrace 中 CPU 的显示方式
\n\n
\n这就是我们通过 dynatrace 分析时线程转储的样子。
通过我的研究,似乎存在 jdk 缺陷
\n\nCalling \'java.util.zip.Deflater.finish()\' prematurely hangs the application. \nThe application is spinning consuming one cpu\nRun Code Online (Sandbox Code Playgroud)\n\nhttps://bugs.openjdk.java.net/browse/JDK-8060193
\n\n仅当涉及某些多个过滤器时才会随机发生。
\n\n我能够在具有 JDK“1.8.0_201”的 CentOs 虚拟机上使用上述 jira 中的测试类来重现此问题\n这令人惊讶,因为根据文档和票证,此问题已得到修复。
\n\n经过进一步研究,发现jdk中再次打开了类似的缺陷。
\n\nhttps://bugs.openjdk.java.net/browse/JDK-8193682
\n\n现在团队不愿意继续研究它,除非有人可以重现它。\n由于它是在生产中随机发生的,我不确定如何重现它。https://bugs.openjdk.java.net/browse/JDK-8060193中的测试类仍然存在问题。这是否是一个有效的测试用例?\n如果这是有效的,那么每次我们发送压缩数据时都会出现问题。
\n\n关于为什么会发生这种情况以及我们如何解决这个问题有任何指示吗?
\n\n更新:\n在我们正在使用的库之一中,它抛出异常\n格式错误的 UTF-8 字符(意外的非连续字节 0x00,紧接在起始字节 0xfd 之后)
\n\nLastName, First\xe2\x80\x99Name\n正如我们所见,这不是一个常规的撇号。我们可以通过从 word 中复制粘贴来实现这一点,它会自动将常规撇号更正为这个时髦的字符。
\n\n我们的重现器确实抛出了一个错误,但 CPU 并没有卡住。我认为这是在高流量和流量的情况下发生的。 …
这是问题描述我们有数千台设备(大约4k-5k),我们必须每2分钟或30秒连续读取数据.每个设备都有其独特的IP.将收集此数据,然后将其存储在数据库中.这些设备位于全国各地的100个位置.数据不会24X7读取,但至少12小时.
有一个Web应用程序可以在某个时刻请求显示通过这些设备收集数据的数据.我们知道正在请求设备的数据.
这就是我们认为我们可以用Java实现的方式
解决方案A:在每个位置,指定一台将充当服务器的计算机,并从x个设备读取数据.此数据将每1小时推送到中央服务器.在这个指定的机器上,数据被拉出并存储在本地(平面文件或内存数据库)
在这种情况下,我们将拥有与位置数量一样多的服务器.例如,我们可能最终拥有1500台服务器/机器管理,这成为一场噩梦.
解决方案B:
我们有8-10个中央服务器,每个服务器从一堆机器中读取数据.数据排队并按照它到达的顺序被拾取.
服务器将数据推送到数据库.
客户如何获取数据?
在解决方案B中,客户端从数据库获取它,假设数据已被推送到数据库并且仍然没有排队.
您认为应该做得更好?
任何替代设计/解决方案?
我们应该考虑使用Unix/Perl在服务器上进行编程.出于某些其他原因,我们不想使用C++.
我正在尝试使用NOTO字体(https://www.google.com/get/noto/)来显示中文字符.这是我的示例代码,来自iText的修改示例代码.
public void createPdf(String filename) throws IOException, DocumentException {
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream(filename));
document.open();
//This is simple English Font
FontFactory.register("c:/temp/fonts/NotoSerif-Bold.ttf", "my_nato_font");
Font myBoldFont = FontFactory.getFont("my_nato_font");
BaseFont bf = myBoldFont.getBaseFont();
document.add(new Paragraph(bf.getPostscriptFontName(), myBoldFont));
//This is Chinese font
//Option 1 :
Font myAdobeTypekit = FontFactory.getFont("SourceHanSansSC-Regular", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
//Option 2 :
/*FontFactory.register("C:/temp/AdobeFonts/source-han-sans-1.001R/OTF/SimplifiedChinese/SourceHanSansSC-Regular.otf", "my_hans_font");
Font myAdobeTypekit = FontFactory.getFont("my_hans_font", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);*/
document.add(Chunk.NEWLINE);
document.add(new Paragraph("??", myAdobeTypekit));
document.add(Chunk.NEWLINE);
//simplified chinese
document.add(new Paragraph("???????", myAdobeTypekit));
document.add(Chunk.NEWLINE);
document.add(new Paragraph("??", myAdobeTypekit));
document.add(new Paragraph("The Source Han …Run Code Online (Sandbox Code Playgroud) 我们的应用程序是JSF,hibernate和Spring.目前网址格式如下 http://www.skill-guru.com/skill/login/testDetails.faces?testId=62&testName=PMP-Certification-practice-test
我们想要一个像http://www.skill-guru.com/urltitle?some参数这样的干净网址
我们可以通过与JSF集成Spring webflow来实现这一目标.
还有其他建议吗?
我们正在尝试使用JSF 2.0的Spring webflow 1.0,但这似乎不起作用.
当我在谷歌搜索亚马逊等网站时,我看到了亚马逊的链接和描述。在主链接下方,我还看到一些较小的链接,如书籍、音乐、DVD 等。我们如何为我们自己的网站获取这些链接?这些是站点地图吗?
据我所知,itext没有任何字体库,你需要提供字体库.pdf一旦生成,将由Acrobat查看,并假设它是标准字体,adobe将支持它.我的问题是关于字体的许可.
a)我是否需要获得我在iText中使用的字体的许可证?例如,如果我使用Arial,最常用的字体之一并且不是免费的,我是否需要购买字体?
b)如果我使用任何特定字体,例如STSONG.ttf,对于中文字符,我是否需要获得此许可证?