Nie mogę znaleźć żadnych pakietów, aby to zrobić. Wiem, że PHP ma mnóstwo bibliotek dla plików PDF (takich jak http://www.fpdf.org/), ale wszystko dla Node?Czy mogę czytać dokumenty PDF lub Word Docs za pomocą Node.js?
Odpowiedz
można łatwo przekształcić jeden do drugiego, lub użyć na przykład .doc szablon do wygenerowania pliku .pdf, ale prawdopodobnie będziesz chciał użyć istniejącej usługi internetowej do tego zadania.
Można to zrobić korzystając z usług Livedocx np
Aby skorzystać z tej usługi od węzła zobacz node-livedocx (Zastrzeżenie: Jestem autorem tego modułu Node)
Wygląda na to, że jest kilka dla pdf, ale nie znalazłem żadnego dla Worda.
W ten sposób przetwarzanie związane z procesowaniem nie jest tak naprawdę silnym punktem węzła (tzn. Nie uzyskuje się dodatkowych korzyści z używania węzła w innym języku). Pragmatyczne podejście polegałoby na znalezieniu dobrego narzędzia i wykorzystaniu go z poziomu węzła.
słyszałem dobre rzeczy w biurze o docsplit http://documentcloud.github.com/docsplit/
Choć nie jest to węzeł, można łatwo wywołać go od węzła z http://nodejs.org/docs/latest/api/all.html#child_process.exec
Zaletą czystym roztworze JS jest to, że jest to przenośny pomiędzy przeglądarką a węzłem – sdgfsdh
textract jest wielki lib że obsługuje pliki PDF, Doc, Docx, itp.
Uwaga: textract używa catdoc do plików '.doc' i nie działa w oknach. – Tracker1
węzeł-biuro nie jest w fazie rozwoju (npm mówi koniec życia), hwile textract jest aktywnie rozwijany od września 2016. – steampowered
Proponuję przejrzeć unoconv dla twojej początkowej konwersji, to używa LibreOffice lub OpenOffice dla faktycznej konwersji. Który dodaje trochę narzut.
ja bym konfiguracja kilku pracowników z całej instalacji potrzeb i używać kolejki żądanie/odpowiedź do obsługi konwersji ... (może zajrzeć do kue lub)
Na ogół jest to Obciążenie procesora i ciężkie zadanie, które powinno zostać wyładowane ... Pandoc i inni wyraźnie wymieniają .docx
, a nie .doc
, więc mogą one, ale nie muszą być również opcjami.
Uwaga: Wiem, że to pytanie jest stare, chciałem tylko przedstawić aktualną odpowiedź dla innych osób.
Do parsowania plików pdf można użyć modułu pdf2json węzła
To pozwala na konwertowanie plików PDF do formatu JSON, jak również do surowych danych tekstowych.
Inną dobrą opcją, jeśli potrzebujesz tylko konwertować z dokumentów Word jest Mammoth.js.
Mammoth jest przeznaczony do konwersji .docx dokumenty, takie jak te tworzone przez Microsoft Word, i konwertować je do formatu HTML. Mammoth ma na celu wygenerowanie prostego i czystego kodu HTML za pomocą informacji semantycznych w dokumencie i zignorowanie innych szczegółów. Na przykład Mammoth przekształca każdy akapit ze stylem Heading 1 na elementy h1, zamiast , próbując dokładnie skopiować styl (czcionkę, rozmiar tekstu, kolor itp.) Nagłówka.
Istnieje duża rozbieżność pomiędzy strukturą stosowanego przez .docx i struktury HTML , co oznacza, że konwersja jest mało prawdopodobne, aby być idealny dla bardziej skomplikowanych dokumentów. Mammoth działa najlepiej, jeśli używasz tylko stylów do semantycznego oznaczania dokumentu.
możesz użyć tekstu w formacie pdf do plików pdf. wyodrębni tekst z pliku pdf do tablicy "fragmentów" tekstu. Przydatny do wykonywania rozmytego analizowania tekstu strukturalnego w formacie pdf.
var pdfText = require('pdf-text')
var pathToPdf = __dirname + "/info.pdf"
pdfText(pathToPdf, function(err, chunks) {
//chunks is an array of strings
//loosely corresponding to text objects within the pdf
//for a more concrete example, view the test file in this repo
})
var fs = require('fs')
var buffer = fs.readFileSync(pathToPdf)
pdfText(buffer, function(err, chunks) {
console.log(chunks)
})
dla plików docx, które można używać mamuta, wyodrębni tekst z plików .docx.
var mammoth = require("mammoth");
mammoth.extractRawText({path: "./doc.docx"})
.then(function(result){
var text = result.value; // The raw text
console.log(text);
var messages = result.messages;
})
.done();
Mam nadzieję, że to pomoże.
Oto przykład pokazujący, jak pobrać i wyodrębnić tekst z pliku PDF za pomocą PDF.js:
import _ from 'lodash';
import superagent from 'superagent';
import pdf from 'pdfjs-dist';
const url = 'http://unec.edu.az/application/uploads/2014/12/pdf-sample.pdf';
const main = async() => {
const response = await superagent.get(url).buffer();
const data = response.body;
const doc = await pdf.getDocument({ data });
for (const i of _.range(doc.numPages)) {
const page = await doc.getPage(i + 1);
const content = await page.getTextContent();
for (const { str } of content.items) {
console.log(str);
}
}
};
main().catch(error => console.error(error));
- 1. Indeksowanie dokumentów programu Word i plików PDF za pomocą Sphinx
- 2. Jak mogę skompilować dokumenty PDF LaTeX za pomocą ANT (lub innego systemu kompilacji, jeśli wolisz)?
- 3. Gdzie czytać dokumenty dla Microsoft.CodeAnalysis?
- 4. Jak programowo konwertować dokumenty programu Word i Excel do formatu PDF?
- 5. Czy mogę przechowywać plik w "pamięci" za pomocą Node.js?
- 6. Czy możemy przesłać pliki do google docs za pomocą skryptu powłoki Linux lub python
- 7. Programowo konwertuj Word (docx) na PDF
- 8. Odczytywanie/modyfikowanie metadanych PDF za pomocą iTextSharp
- 9. Przeczytaj pdf za pomocą iText
- 10. Przesyłanie pliku do google docs za pomocą skryptu Python
- 11. Jak mogę pobrać dokumenty Rust API?
- 12. Wstawianie danych za pomocą Node.js
- 13. Jak czytać pdf strumień w angularjs
- 14. Jak przekonwertować plik PDF na program Word za pomocą programu Acrobat SDK?
- 15. Edycja Google Docs z napędem API
- 16. Jak przyspieszyć tryb Docac Docs?
- 17. Konwertowanie pliku PDF na serię obrazów za pomocą Pythona
- 18. Czy można zapisać zmodyfikowany plik PDF za pomocą MuPDF?
- 19. Jak mogę zaimplementować katalogi wirtualne za pomocą node.js i wyrazić?
- 20. Czy mogę dostosować CGRect za pomocą UIEdgeInsets?
- 21. Google Docs Viewer wyłączyć pobieranie
- 22. Tworzenie raportów PDF za pomocą wykresu flot
- 23. PHP + PDF, jak zapisać pobrany plik PDF za pomocą curl?
- 24. Generowanie dokumentu Word w języku JavaScript za pomocą Docx.js?
- 25. Jak mogę renderować zawartość HTML jako plik pdf za pomocą phantomJs w węźle.JS
- 26. unity3D: połącz się z node.js za pomocą socket.io
- 27. Edytuj metadane pliku PDF za pomocą C#
- 28. Jak przyciąć ciąg za pomocą node.js?
- 29. Wizualizacja D3.js za pomocą node.js
- 30. Konwertuj Word na HTML za pomocą Apache POI
porządku, to jest mocno syn. Ładnie wykonane. – Alan