我使用Grails导出插件(基本上是Flying Saucer)生成PDF.我的GSP页面是一个UTF-8页面(或者至少属性显示它是UTF-8,在GSP页面的开头也有一个<?xml version="1.0" encoding="UTF-8"?>指令).首先生成的PDF正确包含变音字符"äöüõ",但PDF中缺少西里尔字符(根本没有呈现).然后我通过添加以下内容更改了我的css文件,如文档中所述:
@font-face {
src: url(ARIALUNI.TTF);
-fs-pdf-font-embed: embed;
-fs-pdf-font-encoding: UTF-8;
}
body {
font-family: "Arial Unicode MS", Arial, sans-serif;
}
Run Code Online (Sandbox Code Playgroud)
ArialUni.ttf也部署到服务器.但现在我将变音字符和西里尔字符呈现为方框.如果我将-fs-pdf-encoding属性值更改为Identity-H,则可以正确呈现变音字符,但会将西里尔字符呈现为问号.
有什么字体可以用来正确渲染变音符号和西里尔字符吗?或者可能是我的CSS不知何故错了?任何提示都将非常感激.
更新1: 我也尝试过跟随css(由http://fontface.codeandmore.com/生成):
@font-face {
font-family: 'ArialUnicodeMS';
src: url('arialuni.ttf');
src: url('arialuni.eot?#iefix') format('embedded-opentype'),
url('arialuni.woff') format('woff'),
url('arialuni.ttf') format('truetype'),
url('arialuni.svg#arialuni') format('svg');
font-weight: normal;
font-style: normal;
-fs-pdf-font-embed: embed;
-fs-pdf-font-encoding: UTF-8;
}
body {
font-family:'ArialUnicodeMS';
}
Run Code Online (Sandbox Code Playgroud)
我已经添加了<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
我也试图使用-Dfile.encoding = UTF-8运行grails,如下所述:http://grails.1312388.n4.nabble.com/PDF-plugin-Having-problems-with- instalation-td2297840.html,但没有任何帮助.西里尔字符根本没有显示.可能有什么其他想法可能是什么问题?
*顺便说一下:*我正在将我的PDF打包为zip并将其发送回浏览器,如下所示:
response.setHeader "Content-disposition", "attachment; filename=test.zip"
response.setHeader …Run Code Online (Sandbox Code Playgroud) 在我的eclipse-rcp应用程序中,我需要创建尺寸为30000x10000像素或更高的图像.此图像是NatTable表示.使用标准的图像创建方法,它失败了不同的问题:OutOfMemory,SWTError - IllegalArgument或我的电脑停止响应(顺便说一句,它的Windows 7,64位,4 RAM - 客户端有更慢的笔记本电脑,但仍然需要创建图片) .这是一段代码:
private Image getNattableImageRepresentation(final Display display) {
final Rectangle totalGridArea = getTotalGridArea(); //this returns Rectangle(0,0,30000,10000)
setGridLayerSize(totalGridArea);
final Image nattableImage = new Image(display, totalGridArea);
final GC nattableGC = new GC(nattableImage);
gridLayer.getLayerPainter().paintLayer(gridLayer, nattableGC, 0, 0, totalGridArea, configRegistry);//nattable API, which draws an image into a specified gc
restoreGridLayerState();
return nattableImage;
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
是否有任何技巧来创建如此巨大的图像或可能是API?Java Advanced Imaging Api适用于此目的吗?
任何建议表示赞赏.
我对VBA几乎不熟悉(仅在学校就读过一些课程就可以了)。现在,我需要从Excel文件连接到Oracle数据库(在远程服务器上运行)。我四处闲逛,发现了一些例子。因此,到目前为止,我已经编写了以下代码:
Sub Try()
Dim cn As New ADODB.Connection
Dim rs As ADODB.Recordset
Dim cmd As ADODB.Command
Dim chunk() As Byte
Dim fd As Integer
Dim flen As Long
Dim Main As ADODB.Parameter
Dim object As ADODB.Parameter
Stil = vbYesNo + vbCritical + vbDefaultButton1
Titel = "db connection test"
' Meldung anzeigen.
Antwort = MsgBox("trying to connect to db", Stil, Titel, Hilfe, Ktxt)
' Connect to the database using ODBC [msdaora][ORAOLEDB.Oracle]Provider=ORAOLEDB.Oracle;
With cn
.ConnectionString = "Provider=ORAOLEDB.Oracle;Password=pass;User ID=usr;Data Source=host:port:sid"
.Open
.CursorLocation = …Run Code Online (Sandbox Code Playgroud) 我试图将Google Directions APIPolyline - overview_polyline的 ruturned与一组现有的折线进行比较,并查看新折线的哪一部分已包含在其中一条折线中。对我来说,折线是一种驾驶路线表示,从 Google Directions API 检索。它基本上是世界上任何地方的任何路线。为了简单起见,我们总是可以找到属于具体城市或国家的路线,并且仅比较此。此外,目前它的长度可能最多为 250 公里。这是一些例子:


哪条路线是现有的,哪条是新的并不重要。无论如何,我想得到的结果是,这条路线是相似的(好吧,可能它们不是 90% 相似,但我们假设它们是相似的)。
目前,我正在使用暴力将新折线与现有折线进行一一比较。在此之前,我使用此算法将折线分割成点,并比较每个点以查看是否存在匹配。如果点之间的距离小于 100 米,我会将点视为相同。
如果我发现已经有一些折线,其中大部分覆盖了新的折线,我就会停止处理。
它看起来像这样:
Polyline findExistingPolyline(Polyline[] polylines, Polyline polyline) {
LatLng[] polylinePoints = PolylineDecoder.toLatLng(polyline);
for (Polyline existing: polylines) {
LatLng[] existingPoints = PolylineDecoder.toLatLng(existing);
if (isMostlyCovered(existingPoints , polylinePoints)) {
return existing;
}
}
return null;
}
boolean isMostlyCovered(LatLng[] existingPoints, LatLng[] polylinePoints) {
int initialSize = polylinePoints.length;
for (LatLng point: polylinePoints) {
for (LatLng existingPoint: existingPoints) {
if (distanceBetween(existingPoint, …Run Code Online (Sandbox Code Playgroud) 我期待flot v.0.7有一个非常奇怪的问题.我有多个轴,配置如下:
var plotData = [
{ data: data1 },
{ data: data2, yaxis: 2 }];
var options = {
selection: { mode: "x" },
xaxis: { mode: "time" },
yaxis: [
{ min: 0 },
{
min: 0,
position: "right",
zoomRange: false,
alignTicksWithAxis: 1,
tickFormatter: formatter,
}
],
grid: { markings: weekendAreas },
zoom: { interactive: true },
grid: {
clickable: true,
hoverable: true,
borderWidth: 1,
},
legend: { show: false },
};
var plot = $jq.plot(container, plotData, options); …Run Code Online (Sandbox Code Playgroud)