解决网页投屏到LED墙面显示屏显示比例问题

背景:某律所定制的墙面LED显示屏为:30961204 左 / 32681204 右,显示器分辨率为1920*1080。

目标:网页完整投屏到屏幕且不变形。

实现方式:

  1. 可考虑使用“LED演播室”软件进行分屏(卡);
  2. 如为视频或图片可考虑使用“vMix”软件以扩展屏的方式展示(网页投屏使用内部浏览器无法加载js);
  3. 考虑显示效果,推荐使用网页进行投屏,具体实现代码如下:

- 阅读剩余部分 -

centos下Libreoffice版本升级

服务器libreoffice版本为7.1,在实际使用过程中发现如果word中包含大量的表格样式则转化过程特别慢,甚至需要1分钟。在其他装有libreoffice7.4的服务器中转换速度仅需3s左右,故尝试升级libreoffice版本。

升级步骤:

  1. 杀死当前进程
    ps aux | grep soffice
    kill -9 [PID]
  2. 卸载原版本
    yum remove libreoffice*
  3. 删除目录文件
    rm -rf /opt/libreoffice7.1/
  4. 重新安装,参考文档:https://www.r1989.com/note-1204.html
  5. 测试复杂word文件转化效率

find命令删除乱码文件

如服务器存在乱码文件,则可通过find命令来删除,如:

#找到文件节点
ls -i
1703907 ç¼?ç¨?ç? ç??é«?æ¸?pdfç??.pdf

#根据文件的node number删除
find ./ -inum 1703907 -exec rm {} \;

-exec选项
find 搜索路径 [选项] 搜索内容 -exec 命令2 {} \;

- 阅读剩余部分 -

利用DatePeriod 类获取两个日期之间的所有日期

官方文档:https://www.php.net/manual/zh/class.dateperiod.php
DatePeriod 类表示一个时间周期,时间周期内允许对一组日期和时间进行迭代,在指定的时间间隔内定期重复。
注意:8.2 新增 DatePeriod::INCLUDE_END_DATE

/**
 * 获取两个日期间的所有日期
 * @param $startDate 2023-04-01
 * @param $endDate  2023-04-19
 * @param $format
 * @param $last 是否包含最后一天
 * @return array
 * @throws Exception
 */
function getDateRange($startDate, $endDate, $format = "Y-m-d", $last=true, $first=true)
{
    $begin = new DateTime($startDate);
    $end = new DateTime($endDate);
    if($last){
        $end->modify('+1 day');
    }
    $interval = new DateInterval('P1D'); // 1 Day
    $exclude = 0;
    if(!$first){
        $exclude = DatePeriod::EXCLUDE_START_DATE;
    }
    $dateRange = new DatePeriod($begin, $interval, $end, $exclude);
    $range = [];
    foreach ($dateRange as $date) {
        $range[] = $date->format($format);
    }
    return $range;
}