You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JavaScript或PHP将指定PDF转换为特定格式的TXT文件?

当然有办法搞定这个PDF转TXT的需求!我给你整理了JavaScript(Node.js环境)和PHP两种靠谱的实现方案,都能帮你提取出符合要求格式的文本:

JavaScript(Node.js 后端实现)

前端浏览器受跨域限制,直接解析远程PDF会有问题,所以推荐用Node.js来做这个转换:

  1. 初始化项目并安装依赖
    先新建一个项目文件夹,打开终端执行:

    npm init -y
    npm install pdf-parse axios
    

    pdf-parse用来解析PDF文本,axios用来请求远程PDF文件。

  2. 编写转换代码
    创建一个convert.js文件,写入以下代码:

    const pdfParse = require('pdf-parse');
    const axios = require('axios');
    const fs = require('fs');
    
    async function convertPdfToTxt(pdfUrl) {
      try {
        // 获取远程PDF的二进制数据
        const response = await axios.get(pdfUrl, { responseType: 'arraybuffer' });
        const pdfBuffer = Buffer.from(response.data);
        
        // 解析PDF中的文本内容
        const pdfData = await pdfParse(pdfBuffer);
        let rawText = pdfData.text;
        
        // 调整文本格式,匹配你要的样式(根据PDF实际结构微调)
        // 合并多余空行,保留必要换行
        rawText = rawText.replace(/\n{2,}/g, '\n').trim();
        
        // 输出结果或者保存为TXT文件
        console.log('转换后的文本:\n', rawText);
        fs.writeFileSync('du-bist-alles.txt', rawText);
      } catch (error) {
        console.error('转换出错了:', error.message);
      }
    }
    
    // 传入你的PDF链接开始转换
    convertPdfToTxt('http://www.songmanage.com/du-bist-alles-c.pdf');
    
  3. 运行代码
    在终端执行:

    node convert.js
    

    执行完成后,文件夹里会生成du-bist-alles.txt文件,内容就是你要的格式。

PHP 实现方案

如果你的项目是PHP环境,可以用php-pdf-parser库来实现,步骤如下:

  1. 安装依赖
    确保你的环境已经安装了Composer,然后在项目目录执行:

    composer require smalot/pdfparser
    
  2. 编写转换代码
    创建一个convert.php文件,写入以下代码:

    <?php
    require 'vendor/autoload.php';
    
    use Smalot\PdfParser\Parser;
    
    function convertPdfToTxt($pdfUrl) {
      try {
        // 获取远程PDF内容(如果服务器禁用file_get_contents,可以用curl替代)
        $pdfContent = file_get_contents($pdfUrl);
        if (!$pdfContent) {
          throw new Exception('无法获取远程PDF文件');
        }
        
        // 初始化PDF解析器
        $parser = new Parser();
        $pdf = $parser->parseContent($pdfContent);
        
        // 提取文本并调整格式
        $rawText = $pdf->getText();
        $formattedText = preg_replace('/\n{2,}/', '\n', trim($rawText));
        
        // 输出结果或保存为文件
        echo '转换后的文本:<br>' . nl2br($formattedText);
        file_put_contents('du-bist-alles.txt', $formattedText);
      } catch (Exception $e) {
        echo '转换出错:' . $e->getMessage();
      }
    }
    
    // 调用转换函数
    convertPdfToTxt('http://www.songmanage.com/du-bist-alles-c.pdf');
    
  3. 运行代码
    将文件放到你的PHP服务器上访问,或者用命令行执行:

    php convert.php
    

    同样会生成对应的TXT文件。

注意事项

  • 如果你的PDF是扫描件(图片格式),以上方案无法提取文本,需要搭配OCR工具(比如Tesseract)来处理。
  • 不同PDF的排版结构可能有差异,如果转换后的格式略有偏差,可以微调代码里的正则表达式来适配。

内容的提问来源于stack exchange,提问作者Simon Reger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:11:45