2017-06-05 74 views
-1

我使用本教程http://ourcodeworld.com/articles/read/405/how-to-convert-pdf-to-text-extract-text-from-pdf-with-javascript中的代碼將pdf轉換爲文本。使用pdf.js在pdf中以文本格式轉換顯示換行符` n`

看了很多關於這個網站https://mozilla.github.io/pdf.js/關於如何格式化轉換,但找不到任何東西的一些提示。我只是想知道,如果任何人有任何想法如何顯示換行符\n時使用pdf.js解析文本。

在此先感謝。

+0

你有沒有試着用'\\ r'和同樣以'\ N'的東西,如'與string.replace('替換任何'\ r'爲'\\ N' \ r','\\ r')。replace('\ n','\\ n');'?,注意:對於那些不知道'\ r'(回車符)的人通常與換行符配對在某些環境中的字符(即窗口) –

+0

是的,我試過了。除非'\ n'不存在。我擔心pdf.js只是忽略了新的一行字符。 –

回答

0

在PDF中沒有使用諸如'\ n'之類的控制字符來控制佈局的事情 - 使用精確座標定位的PDF中的字形。使用文本y座標(可以從變換矩陣中提取)來檢測行更改。

var url = "https://cdn.mozilla.net/pdfjs/tracemonkey.pdf"; 
 
var pageNumber = 2; 
 
// Load document 
 
PDFJS.getDocument(url).then(function (doc) { 
 
    // Get a page 
 
    return doc.getPage(pageNumber); 
 
}).then(function (pdfPage) { 
 
    // Get page text content 
 
    return pdfPage.getTextContent(); 
 
}).then(function (textContent) { 
 
    var p = null; 
 
    var lastY = -1; 
 
    textContent.items.forEach(function (i) { 
 
    // Tracking Y-coord and if changed create new p-tag 
 
    if (lastY != i.transform[5]) { 
 
     p = document.createElement("p"); 
 
     document.body.appendChild(p); 
 
     lastY = i.transform[5]; 
 
    } 
 
    p.textContent += i.str; 
 
    }); 
 
});
<script src="https://npmcdn.com/pdfjs-dist/build/pdf.js"></script>