本篇文章给大家谈谈是否有可能certificate在PDFBOX文本?,同时本文还将给你拓展...cURLerror60:SSLcertificateproblem:unabletogetlocali
本篇文章给大家谈谈是否有可能certificate在PDFBOX文本?,同时本文还将给你拓展...cURL error 60: SSL certificate problem: unable to get local issuer certificate...、cURL error 60: SSL certificate problem: unable to get local issuer certificate、cURL error 60: SSL certificate problem: unable to get local issuer certificate 解决方法、curl error: SSL certificate problem: unable to get local issuer certificate解决方案等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:- 是否有可能certificate在PDFBOX文本?
- ...cURL error 60: SSL certificate problem: unable to get local issuer certificate...
- cURL error 60: SSL certificate problem: unable to get local issuer certificate
- cURL error 60: SSL certificate problem: unable to get local issuer certificate 解决方法
- curl error: SSL certificate problem: unable to get local issuer certificate解决方案
是否有可能certificate在PDFBOX文本?
在PDFBox API中是否有任何function使文本alignment,或者我们必须手动执行? 如果手动然后如何certificate文字使用Java(背后的逻辑)
如果资源不存在,则将内部redirect到path
Apache 2.4和Windows Server 2008 R2的mod_pagespeed
在生产服务器上使用django日志logging的Apache Wsgi权限错误
Windows中的Apache虚拟主机 – 我如何处理符号链接?
Access-Control-Allow-Origin标题不起作用
这个较旧的答案显示了如何将字符串拆分成适合给定width子字符串。 为了使示例代码在这里绘制子字符串以填充整行宽度,替换如下(取决于PDFBox版本):
PDFBox 1.8.x
替换最后的循环
for (String line: lines) { contentStream.drawString(line); contentStream.moveTextPositionByAmount(0,-leading); }
与这更详细的一个:
for (String line: lines) { float charSpacing = 0; if (line.length() > 1) { float size = fontSize * pdfFont.getStringWidth(line) / 1000; float free = width - size; if (free > 0) { charSpacing = free / (line.length() - 1); } } contentStream.appendRawCommands(String.format("%f Tcn",charSpacing).replace('','',''.'')); contentStream.drawString(line); contentStream.moveTextPositionByAmount(0,-leading); }
(从PDFBlock 1.8.x的BreakLongString.java测试testBreakStringJustified )
如果你想知道replace('',''.'')的内容
contentStream.appendRawCommands(String.format("%f Tcn",''.''));
…我的语言环境使用逗号作为小数点分隔符,并在我的第一次测试运行在页面内容中导致逗号,我有点懒惰,只是补充说,取代修复的东西…
PDFBox 2.0.x
替换最后的循环
for (String line: lines) { contentStream.showtext(line); contentStream.newLineatoffset(0,-leading); }
与这更详细的一个:
for (String line: lines) { float charSpacing = 0; if (line.length() > 1) { float size = fontSize * pdfFont.getStringWidth(line) / 1000; float free = width - size; if (free > 0) { charSpacing = free / (line.length() - 1); } } contentStream.setCharacterSpacing(charSpacing); contentStream.showtext(line); contentStream.newLineatoffset(0,-leading); }
(从BreakLongString.java测试testBreakStringJustified为PDFBox 2.0.x)
此解决方案仅使用额外的字符间距(运算符Tc )进行调整。 您可以改为使用额外的单词间距(运算符Tw ),它只扩展空格字符,或两者的组合; 请注意,虽然:字间距不适用于所有字体编码。 有关这些操作数的更多信息,请参阅 表105 文本状态操作符 ,部分9.3.2 字符间距和部分9.3.3 PDF规范ISO 32000-1中的字间距
而不是前者
你现在得到
正如你所看到的,还有一个小小的赤字,一个段落的最后一行显然不应该是合理的。 因此,在最后一行中,使用一个0字符的空格来代替:
contentStream.appendRawCommands("0 Tcn"); // PDFBox 1.8.x contentStream.setCharacterSpacing(0); // PDFBox 2.0.x
PS我只是偶然发现, setCharacterSpacing目前(2016年11月)只在2.1.0-SNAPSHOT开发版本,而不是2.0.x版本。 因此,在2.0.x中,你可能不得不使用appendRawCommands ,即使它已被标记为废弃。
总结
以上是小编为你收集整理的是否有可能certificate在PDFBOX文本?全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
...cURL error 60: SSL certificate problem: unable to get local issuer certificate...
- 问题描述:在做 PHP 爬虫的时候,安装了 guzzle 和 dom-crawler 之后,调用的时候出现问题,如下
- 报错内容:
Fatal error: Uncaught GuzzleHttp\Exception\RequestException: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) in E:\project\my_test\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php:186 Stack trace: #0 E:\project\my_test\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php(149): GuzzleHttp\Handler\CurlFactory::createRejection(Object(GuzzleHttp\Handler\EasyHandle), Array) #1 E:\project\my_test\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php(102): GuzzleHttp\Handler\CurlFactory::finishError(Object(GuzzleHttp\Handler\CurlHandler), Object(GuzzleHttp\Handler\EasyHandle), Object(GuzzleHttp\Handler\CurlFactory)) #2 E:\project\my_test\vendor\guzzlehttp\guzzle\src\Handler\CurlHandler.php(43): GuzzleHttp\Handler\CurlFactory::finish(Object(GuzzleHttp\Handler\CurlHandler), Object(GuzzleHttp\Handler\EasyHandle), Object(GuzzleHttp\Handler\CurlFactory)) #3 E:\project\my_test\vendor\guzzlehttp\guzzle\src\Handler\Proxy.php(28): GuzzleHttp\Handler in E:\project\my_test\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php on line 186
这是在 Windows 下 PHPstudy 环境测试的,没有在 Linux 上试验,不知道 Linux 会不会出现这样的错误。这里只说 Windows 的解决方案,Linux 如果出现大概也是同样的解决方法.
- 下载 cacert.pem, 下载地址: https://curl.haxx.se/ca/cacert.pem
- 修改 php.ini 的 curl 配置,找到 [curl] 模块,如下
[curl] ; A default value for the CURLOPT_CAINFO option. This is required to be an ; absolute path. ;curl.cainfo =
将之前下载的 cacert.pem 的绝对路径复制到 ----> curl.cainfo="cacert.pem 绝对路径", 例如: E:\project\my_test\curl_cainfo\cacert.pem 然后去掉注释,重启 PHPstudy.
cURL error 60: SSL certificate problem: unable to get local issuer certificate
这个是本地信任的根证书不是最新的
从 curl - Extract CA Certs from Mozilla 上下载cacert.pem
打开PHP.ini 搜索curl.cainfo 与 openssl.cafile,将其配置成你自己cacert.pem文件的路径
curl.cainfo=" 路径 "
openssl.cafile="路径"
然后重启PHP-fpm
首先找到PHP-fpm的master process
ps aux|grep PHP-fpm
记住其进程号,然后执行这个命令:
kill -USR2 2755
PHP就重启了
cURL error 60: SSL certificate problem: unable to get local issuer certificate 解决方法
微信开发的时,请求接口报错如下:
cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
1、下载cacert
下载地址:https://curl.haxx.se/ca/cacert.pem
2、修改 php.ini , 并重启
在php.ini中找到curl.cainfo改为文件的绝对路径如:curl.cainfo =E:\phpstudy\PHPTutorial\php\php-7.2.1-nts\cacert.pem
注意事项:
需要开启 php_curl、php_openssl 扩展;
如果是用php curl() 方法的话。可以 清除ssl证书校验:
<?php
// 创建curl资源
$ch = curl_init();
// 设置url
curl_setopt($ch, CURLOPT_URL, "https://www.test.com");
// 将Transfer作为字符串返回
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// 关闭SSL验证
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
// 执行并输出
$output = curl_exec($ch);
// 查看错误
$error = curl_error($ch);
echo $error;
// 释放curl资源
curl_close($ch);
curl error: SSL certificate problem: unable to get local issuer certificate解决方案
//避免https 的ssl验证
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSLVERSION, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
没有那么多的套路,加上后俩句就可以了
我们今天的关于是否有可能certificate在PDFBOX文本?的分享已经告一段落,感谢您的关注,如果您想了解更多关于...cURL error 60: SSL certificate problem: unable to get local issuer certificate...、cURL error 60: SSL certificate problem: unable to get local issuer certificate、cURL error 60: SSL certificate problem: unable to get local issuer certificate 解决方法、curl error: SSL certificate problem: unable to get local issuer certificate解决方案的相关信息,请在本站查询。
本文标签: