使用下面的代码片段中,我试图从提取文本数据这个 PDF文件.
import pyPdf
def get_text(path):
# Load PDF into pyPDF
pdf = pyPdf.PdfFileReader(file(path, "rb"))
# Iterate pages
content = ""
for i in range(0, pdf.getNumPages()):
content += pdf.getPage(i).extractText() + "\n" # Extract text from page and add to content
# Collapse whitespace
content = " ".join(content.replace(u"\xa0", " ").strip().split())
return content
Run Code Online (Sandbox Code Playgroud)
然而,我获得的输出在大多数单词之间没有空格.这使得难以对文本执行自然语言处理(我的最终目标,这里).
此外,"手指"一词中的"fi"一直被解释为其他内容.这是相当有问题的,因为这篇论文是关于自发的手指运动......
有人知道为什么会这样吗?我甚至不知道从哪里开始!
我通过调用发布版本:
xcodebuild -project HelloWorld -sdk iphoneos5.1 -configuration Release install
Run Code Online (Sandbox Code Playgroud)
但对于PhoneGap应用程序,我收到此错误:
**建筑失败**
以下构建命令失败:CompileC build/Phonefinch.build/Release-iphoneos/Phonefinch.build/Objects-normal/armv6/AppDelegate.o Phonefinch/Classes/AppDelegate.m normal armv6 objective-c com.apple.compilers.llvm. clang.1_0.compiler(1次失败)
当我尝试:
xcodebuild -project HelloWorld -sdk iphoneos5.1 -configuration Release clean build
Run Code Online (Sandbox Code Playgroud)
我明白了:
2012-10-04 22:51:52.776 xcodebuild [20016:4107] DVTAssertions:/ SourceCache/IDEXcode3ProjectSupport/IDEXcode3ProjectSupport-1559/Xcode3Sources/XcodeIDE/Frameworks/DevToolsBase/pbxcore/SpecificationTypes/XCGccMakefileDependencies.m:87中的警告详情:无法访问从"/Users/camobap-mac/Projects/Phonefinch/build/Phonefinch.build/Release-iphoneos/Phonefinch.build/Objects-normal/armv6/AppDelegate.d"加载依赖项输出内容.错误:错误Domain = NSCocoaErrorDomain Code = 260"无法打开文件"AppDelegate.d",因为没有这样的文件." UserInfo = 0x400eabf40 {NSFilePath =/Users/camobap-mac/Projects/Phonefinch/build/Phonefinch.build/Release-iphoneos/Phonefinch.build/Objects-normal/armv6/AppDelegate.d,NSUnderlyingError = 0x40079c140"操作无法完成.没有这样的文件或目录"}.用户信息:{NSFilePath ="/ Users/camobap-mac/Project/Phonefinch/build/Phonefinch.build/Release -iphoneos/Phonefinch.build/Objects-normal/armv6/AppDelegate.d"; NSUnderlyingError ="错误域= NSPOSIXErrorDomain代码= 2 \"操作无法完成.没有相应的文件和目录\""; }.功能:void XCGccMakefileDependenciesParsePathsFromRuleFile(NSString*,void(^)(NSString*))线程:{name =(null),num = 7}请在http://bugreport.apple.com上提交此警告消息和任何错误您可以提供的有用信息.**建筑失败**
以下构建命令失败:CompileC build/Phonefinch.build/Release-iphoneos/Phonefinch.build/Objects-normal/armv7/AppDelegate.o Phonefinch/Classes/AppDelegate.m normal armv7 objective-c com.apple.compilers.llvm. clang.1_0.compiler CompileC build/Phonefinch.build/Release-iphoneos/Phonefinch.build/Objects-normal/armv6/AppDelegate.o Phonefinch/Classes/AppDelegate.m normal armv6 objective-c com.apple.compilers.llvm.clang .1_0.compiler(2次失败)2012-10-04 22:52:04.887 …
这是我的HelloPlugin.js文件.
var HelloPlugin = {
callNativeFunction: function(success,fail,resultType) {
return cordova.exec(success, fail, "HelloPlugin", "nativeAction", [resultType]);
}
};
Run Code Online (Sandbox Code Playgroud)
我收到以下异常:
: Uncaught ReferenceError: cordova is not defined at file:///android_asset/www/HelloPlugin.js:3
Run Code Online (Sandbox Code Playgroud)
先感谢您.
为什么被buildSessionFactory()取代buildSessionFactory(ServiceRegistry)?ServiceRegistry的重要性是什么?
在我们的网站上,一些Mac用户在将PDF文件中的文本复制粘贴到TextArea(由TinyMCE处理)时会遇到麻烦.所有突出显示的字符都已损坏,并成为例如e?a é,i?for a î等.我无法使用Windows计算机重现此问题.
当我在一个文件上写入TextArea的内容时(在将其插入数据库之前),我发现初始文件e?在视觉上与传统文件不同é(在Vim上,见下文).

确实 :
// the corrupted é - first line of the screenshot
echo bin2hex($char); // display 65cc81
// traditionnal é
echo bin2hex('e?'); // display c3a9
Run Code Online (Sandbox Code Playgroud)
经过大量搜索后,我在这里:似乎Mac OS将Unicode强调的字符复制为两个字符的组合:在我们的示例中,e + ?.到目前为止,我没有找到任何解决方案来替换损坏é的真实的,以避免e?在数据库中.
而且我有点绝望.
这是我关于Stack Overflow的第一个问题.这不是我第一次写一个,但通常我会找到一个使用搜索栏的解决方案,这次我没有.我正在解决的问题有点复杂,所以我会尝试尽可能彻底地解决问题.
基本上我们将中文付款添加到Flash中已有的电子商务中.整个网站都在AS3中,使用SWFObject嵌入,已经使用ExternalInterface进行其他操作.
这种新的中国支付方式有点过时,所以他们有一种奇怪的处理方式.一旦我们向他们的服务器发送了包含所有订单详细信息的POST,他们就会回复一个HTML页面.我的问题是渲染这个页面,考虑到我在Flash中收到它.
我正在尝试的解决方案部分工作,这意味着我能够看到页面,但应该在页面中的中文字符渲染得很糟糕.而不是中文字符我看到奇怪的字符,所以我猜测当我将HTML从Flash传递给Javascript时必定存在编码问题.这就是我这样做的方式:
AS3:
//extract html page from response
var newHTML:String = e.currentTarget.data;
//trim whitespace to avoid javascript error
newHTML = newHTML.replace(/\n/g, '');
newHTML = newHTML.split("\r").join("");
if(ExternalInterface.available)
ExternalInterface.call("chinesePayment('"+newHTML+"')");
else
trace("External interface error");
Run Code Online (Sandbox Code Playgroud)
使用Javascript:
function chinesePayment(param) {
var newWindow = window.open();
//var unescaped = unescape(param);
newWindow.document.write(param);
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试过使用unescape,escape,URIencoding,但没有任何成功,所以我真的希望你能帮助我在这里!
谢谢,多梅尼科
编辑:
我只想提一下,我从他们的服务器上收到了正确的HTML页面.我尝试在本地保存页面,直接从服务器响应中复制HTML代码,并正确地查看页面.这意味着在将页面从AS3传递到Javascript的过程中必定存在问题.
EDIT2!重要:
我意识到问题在于弹出编码.当我从弹出窗口复制HTML时,将其粘贴到编辑器中并保存,我可以正确查看HTML.好像弹出窗口不考虑gbk编码.我现在正在寻找解决这个问题的方法.
我的目标是创建一个像"/ sdcard/files/excel /"或"/ sdcard/files/pdf /"这样的文件夹.后面的部分sdcard来自url("/ files/excel").首先,我想检查"/ files/excel"是否存在,然后创建一个文件(如果它也不存在).该名称来自名为"localFileName"的url.
在这种情况下,folder ="files/excel"和localFileName ="Sheet1.html".
在fs.root.getDirectory行之后,我得到了名为FileError.PATH_EXISTS_ERR的错误12,但sdcard中没有文件夹或文件.
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fs) {
var folder = file_path.substring(0,file_path.lastIndexOf('/'));
console.log(folder);
fs.root.getDirectory(folder,{create: true, exclusive: false},function (datadir) {
console.log(folder);
datadir.getFile(localFileName, {create: true, exclusive: false},function(fileEntry) {
var ft = new FileTransfer();
yol = "/sdcard/"+folder+localFileName;
ft.download( remoteFile,yol,function(entry) {
console.log(entry.fullPath);
}, fail);
}, fail);
}, fail);
}, fail);
Run Code Online (Sandbox Code Playgroud) 我正在尝试结合Backbone.js和jQuery mobile的优点.我正在为移动设备开发,我正在尝试开发一个动态列表,用于调试日志消息.想象一下,你有一个控制台窗口,你想把条目放在里面.问题是,在插入新内容后<li>,必须刷新列表$('#myList').listview('refresh').这对我不起作用,我收到此错误:
错误:无法在初始化之前调用listview上的方法; 试图调用方法'刷新'
tagName : 'ul',
id : 'console',
consoleTemplate : _.template($('#console-template').html()),
initialize : function() {
console.log('ConsoleView:init');
this.$el.attr('data-inset', 'true');
this.$el.attr('data-role', 'listview');
this.$el.css('width', '50%');
this.$el.append(this.consoleTemplate());
// für alle Funktionen die mit this arbeiten
_.bindAll(this, 'render', 'addConsoleItem', 'appendConsoleItem');
this.consoleItemCollection = new ConsoleItemCollection();
this.consoleItemCollection.bind('add', this.appendConsoleItem);
this.counter = 0;
this.render();
},
render : function() {
console.log('ConsoleView:render');
var self = this;
_(this.consoleItemCollection.models).each(function(item) {
self.addConsoleItem(item);
}, this);
return this;
},
Run Code Online (Sandbox Code Playgroud)
这是我的控制台视图的摘录.
var view = Backbone.View.extend({
el : 'div',
id : 'content', …Run Code Online (Sandbox Code Playgroud) 我想创建一个输入框,当用户选择它时,框中的所有文本都被选中.所以我决定使用这个select()功能,这就是我想要实现的功能.但是,它可以像我预期的那样在桌面浏览器上运行,但不能在iPad上的Safari上运行.如何解决问题?谢谢.
$('#input').click(function(e){
$(this).select();
});
Run Code Online (Sandbox Code Playgroud) 我认为字符集的名称是"Unicode",而"UTF-8"是Unicode字符集的特定编码的名称,但我经常看到术语"编码"和"字符集"在引用时可互换使用到UTF-8.
例如,
<meta charset="UTF-8">
Run Code Online (Sandbox Code Playgroud)
VS
<?xml version="1.0" encoding="UTF-8" ?>
Run Code Online (Sandbox Code Playgroud)