小编Ser*_*eim的帖子

Jasper用PDF和Unicode(希腊语)字符报告

我有一个非常奇怪的问题:我正在尝试将包含Unicode字符(希腊语)的Jasper报告导出为PDF.我的问题是,一个特定的希腊字符(字符三角形)打印在与我正在使用的字体(Arial)不同的字体中!

从导出的pdf复制以下图像:

我不喜欢这个

以下图像是使用相同字体的MS Word中的相同文本:

这要好得多

如您所见,第三个字母(delta)与其他字母不同.对于所有字体大小,此信件仅适用于此字母.我也尝试将字体更改为garamond,但仍然遇到完全相同的字母同样的问题!

最后,我应该补充说iReport的内部预览是好的,也可以导出到其他格式,如docx或html ...

更新20/04/11:我还试图用福昕阅读器便携式打开PDF文件,但其行为与Adobe Acrobat Reader完全相同.

更新28/04/11:在pastebin中创建了一个片段,在导出为pdf时会产生问题.一个警告 - 您必须通过iReport的"选项 - 字体""安装"您将使用的字体(在我的情况下为Arial),否则您将无法在pdf中看到任何内容.

更新05/03/13解决方案:好吧,因为有人(可能来自希腊)仍有同样的问题并查看此问题,我想再次进行更新:我开始再次使用Jasper报告,但现在我正在使用更新版本的Jasper(Jasper 5)和iReport(iReport 5).现在一切正常 - 在PDF中没有问题的增量:)所以如果您遇到同样的问题,请尝试升级您的iReport和Jasper库!

更新05/04/13最终评论:两年后,我能够在有问题的希腊字符(delta)的系统上再次工作,并能够得出关于该问题的最终结论:所以,首先我升级了版本贾斯珀我们使用5.x仍然遇到了问题!只有当我使用从iReport 5.x创建(导出)的新字体扩展名(.jar)更改了包含的字体扩展名(.jar)时,问题才得以解决.因此,问题是当导出字体扩展名时,iReport 3.x(用于导出旧扩展名)没有正确导出希腊字符增量,而iReport 5.x导出它很好.所以我的建议仍然是正确的:任何有此问题的人都会将您的Jasper版本升级到5.x,但也会通过iReprot 5.x重新导出您的字体扩展名.我真的希望我不会再对此更新:)

pdf unicode jasper-reports ireport

9
推荐指数
1
解决办法
7928
查看次数

如何在没有编译的Windows上的python 2.7 virtualenv上安装python-ldap

我使用Windows作为我的主要python 2.7开发环境,我想在虚拟环境中安装python-ldap.

python-ldap包需要编译:(当然我无法在我的环境中编译它.所以我尝试通过easy_install在我的虚拟环境中安装二进制文件(FYI你可以做easy_install package.exe和包将安装).我在这里找到了分布式二进制文件:https://pypi.python.org/pypi/python-ldap/

不幸的是,他们只为python 2.7提供.msi包!为什么人们使用.msi?MSI不能通过easy_install安装.我讨厌MSI%$#$ ^#$ ^#$

是的我可以通过执行它来安装.msi包,但它将安装在全局python包中,而不是安装在我的虚拟环境中!

拜托,有人可以帮帮我吗?我记得在之前的项目中遇到了这个确切的问题,我不得不在虚拟环境之外开发它 - 但我现在不能这样做:(

更新:我在系统范围内安装了python-ldap并将目录ldap和python_ldap-2.4.10-py2.7.egg-info从PYTHON_GLOBAL\Lib\site-packages复制到VIRTUALENV\Lib\site-packages并且似乎正在运行现在.但是我真的不喜欢这个解决方案所以我不会回答我的问题.此外,Alexander关于使用--system-site-packages重新创建virtualenv的评论可能会起作用,但这意味着我需要卸载我的许多全局软件包,然后重新安装我的虚拟软件包等,一般情况下它不是干:(

更新2:在尝试cgohlke的建议之后,我看到MSI的内容是我上面提到的两个目录以及文件dsml.py,ldapurl.py和ldif.py. 所以我也把它复制到了我的VIRTUALENV\Lib\site-packages.现在我相信安装还可以:).但我相信cgohlke是最好的 - 只需使用msiexec.exe将msi的内容直接提取到您的VIRTUALENV.

更新3:在一个类似的问题(在Windows上的virtualenv中安装python-ldap)我发现了一个非常有趣的链接:http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldap.在那里你将能够找到python-ldap和其他很多的.EXE安装包!所以最后通过下载这些你将能够easy_install在你的virtualenv他们!

python virtualenv easy-install python-ldap

9
推荐指数
1
解决办法
9750
查看次数

Java - 我应该在哪里放置我的域对象逻辑?

我正在开发一个java-spring项目,我有一个gr.serafeim.domain包含所有域类的包(例如,学生,学校等 - 它们是具体的类).所有这些都通过JPA注释与它们之间有关系.到目前为止一切都很好,但现在我需要为这些类实现需要查询数据库以获得结果的方法.

我该如何实现这些方法?我的第一选择是将它放在域类中,但是为了做到这一点,我需要在所有域类中包含对数据存储库的引用.我不太喜欢这个 - 这是一个很好的设计选择吗?我应该实现我的域类将实现的接口吗?您能否提出更好的解决方案 - 在这种情况下通常的做法是什么?

TIA

java architecture spring jpa

8
推荐指数
2
解决办法
3446
查看次数

Spring ACL是一个很好的ACL实现吗?

我读过有关Spring ACL的内容,但它看起来并不是很有能力.例如:

  1. 无法使用权​​限Y列出X类型的所有对象
  2. 无法自动为新部署创建架构

您使用什么ACL?将ACL与域模型分离是否巧妙?

java spring acl spring-security spring-security-acl

7
推荐指数
1
解决办法
5909
查看次数

使用matplotlib*而不使用*TCL

正是标题所说的.有没有办法在安装TCL的情况下使用matplotlib库?请不要告诉我咬紧牙关并安装TCL - 我知道如何做到这一点,但我自己(可能是愚蠢的)我不想做的原因.

我不关心显示图,我只想在png中输出它们.我尝试了各种各样的东西(使用不同的后端等),但matplotlib总是想找到tcl工作:(为什么TCL对matplotlib如此重要?

此外,请注意我正在使用Windows - 我已经安装了所有可能需要的东西(numpy,pandas,matplotlib)使用pip.

@ gerrit的解决方案是正确的(我试图改变后端,但是我加载pyplot 之后就这样做了- 重要的是你需要在使用matplotlib之后立即更改后端).这是一个使用它的小例子:

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt

fig, ax = plt.subplots( nrows=1, ncols=1 )
ax.plot([0,1,2], [10,20,3])

fig.savefig('foo.png')
plt.close(fig)

这将输出一个名为'foo.png'的文件而不使用TCL\o /

python numpy tcl matplotlib

7
推荐指数
1
解决办法
1516
查看次数

测量手机上的"真实"手机信号强度

我想以编程方式测量手机中的手机信号强度.我实际上并不关心手机或编程环境:它可以基于Android或Windows Mobile甚至J2ME,可以来自任何制造商(请不要iPhone).但是,它需要是真正的商用手机而不是特殊的测量设备.

这个问题并不像初看起来那么容易.我知道已经存在许多声称能够恢复手机信号强度的方法.其中一些是:

  • WM6的SystemState.PhoneSignalStrength
  • WinCe的RIL_GetCellTowerInfo(返回的RILCELLTOWERINFO结构的dwRxLevel成员)
  • android.telephony.NeighboringCellInfo.getRssi()for android

上面的问题是它们只返回一些(小于10)离散值,这意味着,例如,SystemState.PhoneSignalStrength的返回值只能转换为(例如)-100 dbm,-90 dbm, - 80 dbm,-70 dbm和-60 dbm,这对我的应用程序没用,因为我希望尽可能多的精度.

如果有一个无证件的解决方案只能在一部手机上运行,​​那么无所谓,如果你能告诉我一种我会感激的方式.

提前致谢

android mobile-phones windows-mobile java-me

6
推荐指数
1
解决办法
4832
查看次数

Django创建包含Unicode的CSV文件,可以直接用Excel打开

我想通过Django创建一个包含unicode数据(希腊字符)的CSV文件,我希望它可以直接从MS Excel打开.在其他地方,我读过有关unicodecsv库的内容,我决定使用它.所以,这是我的看法;

def get_csv(request, id):
    response = HttpResponse(mimetype='text/csv')
    response['Content-Disposition'] = 'attachment; filename=csv.csv'
    writer = unicodecsv.writer(response, encoding='utf-16"')
    writer.writerow(['Second row', 'A', 'B', 'C', '"Testing"', "????????"])
    return response

现在,除了utf-16之外,我真的尝试过编写器的编码参数,包括utf-8,utf-8-sig,utf-8-le,utf-16-le和其他人.每当我用excel打开文件时,我总是看到希腊字符本应该存在的垃圾.

Notepad ++能够毫无问题地打开文件.我究竟做错了什么 ?

更新:这是我在jd回答之后尝试的内容:

import csv
response = HttpResponse(mimetype='text/csv')
response['Content-Disposition'] = 'attachment; filename=test.csv'
response.write(u'\ufeff'.encode('utf8'))
writer = csv.writer(response, delimiter=';' , dialect='excel')
writer.writerow(['Second row', 'A', 'B', 'C', '"Testing"', "????????"])
return response

仍然没有运气 - 现在我也可以在Excel中看到BOM(作为垃圾) - 我也尝试使用unicodecsv和一些其他选项,但再次没有工作:(

更新2:我在dda的提议之后尝试了这个:

writer = unicodecsv.writer(response, delimiter=';' , dialect='excel')
writer.writerow(codecs.BOM_UTF16_LE)
writer.writerow([ (u'????????').decode('utf8').encode('utf_16_le')])

仍然没有运气:(这是我得到的错误:

UnicodeEncodeError at /csv/559
'ascii' codec can't encode …

python csv django unicode excel

6
推荐指数
1
解决办法
8782
查看次数

使用agility.js进行页面布局和组合

我是MVC风格的javascript库的新手,所以请原谅我这个问题是否太基础了.我正在尝试完全用jQueryagility.js编写单页面应用程序.agility.js 文档中给出的示例完全包括将html元素添加到文档根目录.问题:是否存在按组件组装页面的"最佳实践"方法.

这是我的html应用程序的大致轮廓:

<html>
    <head> ... </head>
    <body>
        <header> ... </header>
        <div id=PageHolder>
            <div id=AppPane_1></div>
            <div id=AppPand_2></div>
        </div>
        <footer> ... </footer>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

在"AppPane"中,div将是应用程序的内容.

好吧,考虑到所有这一切,我不是在问我能做什么,而是我在问我该怎么做.

我从文档和研究中看到我有3个选择:

  1. 从原子敏捷性对象创建我的页面组合,并将它们组装在jQuery文档就绪块中. $$.document.append(Foo)适用于根元素,但我无法弄清楚如何将Foo的子元素添加到foo.
  2. 使用从上面勾画出基本的静态HTML一个(超大型)敏捷对象和追加的控制和诸如此类的东西,使用controller的功能(我没有带能够得到任何工作)
  3. 使用一个根敏捷性对象并使用视图将所有子项追加到它上面(不知何故,我无法使其工作.)

哪个是最好的,涉及的语法是什么?在此先感谢,任何有关将html组件组装成一个有说服力的敏捷性应用程序的指导将非常感激.

http://jsbin.com/ojenon/1/


javascript model-view-controller agility.js

6
推荐指数
1
解决办法
787
查看次数

Spring数据复杂查询创建

我已经为我的Student域模型创建了一个spring-data-jpa存储库,我想创建一个更复杂的查询,如下所示:

List findBySchoolAndLastNameLikeOrId(School s);

我的问题是我如何定义where子句之间的括号.我的意思是,查询将像这样执行

List findBy(SchoolAndLastNameLike)OrId

或者像这样

List findBySchoolAnd(LastNameLikeOrId)

如何将括号放在我想要的位置或创建更复杂的查询?请不要回答我的自定义存储库实现或@Query注释的使用 - 我想知道我想做什么是可以通过方法名称定义这个复杂的查询.

TIA!

java spring jpa spring-data spring-data-jpa

5
推荐指数
1
解决办法
3132
查看次数

HardwarePropertiesManager无法正常工作

我正在尝试使用HardwarePropertiesManagerhttps://developer.android.com/reference/android/os/HardwarePropertiesManager.html)访问信息。我正在使用带有以下代码的Android 7.0(API级别24):

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        TextView helloTV = findViewById(R.id.helloTV);

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
            HardwarePropertiesManager hardwarePropertiesManager = getApplicationContext().getSystemService(HardwarePropertiesManager.class);
            CpuUsageInfo[] cpuUsages = hardwarePropertiesManager.getCpuUsages();
            ///...

Now when my applications finds the hardwarePropertiesManager.getCpuUsages(); line it throws the following exception:

java.lang.RuntimeException: Unable to start activity ComponentInfo{gr.serafeim.sensorplayground/gr.serafeim.sensorplayground.MainActivity}: java.lang.SecurityException: The caller is not a device or profile owner or bound VrListenerService.
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2659)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2724)
        at android.app.ActivityThread.-wrap12(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1473)
        at android.os.Handler.dispatchMessage(Handler.java:102) …

android cpu-usage android-sensors

5
推荐指数
1
解决办法
1082
查看次数