使用Windows.Data.Pdf
命名空间,我可以在不使用任何第三方库的情况下呈现pdf(作为图像)。
如果我没弄错,Microsoft的Edge浏览器使用相同的库来呈现pdfs(Windows.Data.Pdf.dll)。通过查看官方Windows.Data.Pdf
文档here,我可以看到它只是关于
将可移植文档格式(PDF)文档中的页面转换为图像文件。
但是,Edge浏览器有"搜索文本"渲染pdf时的功能,我在Windows.Data.Pdf
库中找不到任何地方。
我的问题是,是否有任何未记录的(因此非官方的)功能可用于Windows.Data.Pdf
命名空间(或Windows内置的其他位置)? (具体来说,搜索文本函数,我假设我必须能够a)提取pdf的文本,这样我就可以搜索它,并且b)在渲染的页面上获得字符串出现的XY,这样我就能以某种方式突出显示它)
答案 0 :(得分:4)
一般Windows 10应用使用的库与func insertRecords()
{
let usrID = txtID.text
let checkin = lblInOut.text
let comment = txtComment.text
// The address of the web service
let urlString = "http://your_url/checkInOut_post.php"
// These are the keys that your are sending as part of the post request
let keyValues = "id=\(usrID)&inout=\(checkin)&comment=\(comment)"
// 1 - Create the session by getting the configuration and then
// creating the session
let config = NSURLSessionConfiguration.defaultSessionConfiguration()
let session = NSURLSession(configuration: config, delegate: nil, delegateQueue: nil)
// 2 - Create the URL Object
if let url = NSURL(string: urlString){
// 3 - Create the Request Object
var request = NSMutableURLRequest(URL: url)
request.HTTPMethod = "POST"
// set the key values
request.HTTPBody = keyValues.dataUsingEncoding(NSUTF8StringEncoding);
// 4 - execute the request
let taskData = session.dataTaskWithRequest(request, completionHandler: {
(data:NSData!, response:NSURLResponse!, error:NSError!) -> Void in
println("\(data)")
// 5 - Do something with the Data back
if (data != nil) {
// we got some data back
println("\(data)")
let result = NSString(data: data , encoding: NSUTF8StringEncoding)
println("\(result)")
if result == "OK" {
let a = UIAlertView(title: "OK", message: "Attendece has been recorded", delegate: nil, cancelButtonTitle: "OK")
println("\(result)")
dispatch_async(dispatch_get_main_queue()) {
a.show()
}
} else {
// display error and do something else
}
} else
{ // we got an error
println("Error getting stores :\(error.localizedDescription)")
}
})
taskData.resume()
}
}
不同,它只是windows.data.pdf.dll
另一方面,Windows.Foundation.UniversalApiContract
是一个原生函数库,因此您需要查看是否可以让Windows.Data.Pdf.dll
使用它。
编辑:以下是DllImport
的DependencyWalker的输出您感兴趣的功能可能是PdfCreateRenderer
答案 1 :(得分:1)
对于迟到的回复感到抱歉,但我想这永远不会太晚。 Windows.Data.Pdf仅支持渲染操作。在Windows.Data.Pdf库中不公开格式化特定操作,如搜索,注释枚举等。 Windows组件也不依赖于Windows.Data.Pdf