Làm cách nào để chuyển đổi một trang web thành PDF mà vẫn giữ được giao diện của nó (chính xác như trên trình duyệt web) và văn bản / liên kết?


24

Tôi đang tìm cách chuyển đổi trang web thành PDF, nhưng giữ nguyên giao diện của trang web. Đồng thời duy trì văn bản của trang web (có thể chọn), có thể tìm kiếm [Tạo ảnh chụp màn hình cho trang web sẽ khiến văn bản không thể chọn cũng như không thể tìm kiếm].

Tôi đang tìm cách in trang web thành PDF (như trên trình duyệt web) mà không có bất kỳ thao tác nào về kiểu dáng hoặc căn chỉnh hoặc mất bất kỳ thành phần tĩnh nào của trang web.

Điều này sẽ giúp lưu giữ các bản sao ngoại tuyến của các trang web dễ đọc, chú thích và có thể tìm kiếm.


Bạn không cần phải đọc bất kỳ câu hỏi nào dưới đây (Câu hỏi chỉ là phần trên) để có được câu hỏi của tôi. Phần sau đây chỉ là danh sách những gì tôi đã nhận được thông qua nghiên cứu hoặc câu trả lời của người khác theo cách lồng nhau để đạt được câu trả lời cho câu hỏi.

Kết quả nghiên cứu (Gợi ý không giải quyết được vấn đề của tôi)

Kết quả cho đến bây giờ khi cố gắng tìm một giải pháp (Tất cả vẫn không hoạt động như một giải pháp cho câu hỏi này)

Tôi đã thử các công cụ in web PDF này nhưng tất cả các thao tác nhìn trang, thậm chí còn gây hại hơn và khiến một số khó đọc: ( Ví dụ ảnh chụp màn hình trang được bao gồm trong ngoặc vuông)

  • Chrome [ Original , In Styles ( Disabled | không Disabled )]
  • Firefox [ Bản gốc , Kiểu in (Đã tắt p1 , p2 | không bị tắt p1 , p2 )]
  • Dễ đọc
    • Nó đơn giản hóa trang web (đây là một điều tốt để đọc tập trung vào Tuy nhiên, đây không phải là thứ tôi đang tìm kiếm). Tôi đang tìm cách giữ tất cả các thuộc tính vị trí / kiểu của trang web như được thấy trên Trình duyệt web ở định dạng PDF mà không cần thao tác.
  • Đầu đọc Foxit
  • NovaPDF
  • CutyCapt [ Bản gốc , Hệ số thu phóng : 0,4 : Ảnh chụp màn hình, xuất ra PDF]
    • Tôi sẽ thêm các liên kết sau khi tôi giải quyết các sự cố đang chạy của chương trình trên Windows "
  • wkhtmltopdf [ Bản gốc , Hệ số thu phóng : 0,4 : Ảnh chụp màn hình , PDF xuất ra ]
    • Nó không hỗ trợ CSS3.

Tất cả các plugin chụp ảnh trang web chụp màn hình (ví dụ như bắt cóc , tạo ảnh vui nhộn Ảnh chụp màn hình , FireShot , Firefox Screenshot Developer Tool , đầy đủ trang Screen Capture , Page2Images , web-chụp , ...) không trả lời câu hỏi của tôi, bởi vì họ không giữ gìn văn bản và liên kết .

Sc khiếp là tuyệt vời trong việc bảo tồn các trang web như để chú thích và nghiên cứu thêm, nhưng tiếc là vẫn trực tuyến và không chuyển đổi sang định dạng PDF.

Có hai câu hỏi khác trên cộng đồng bằng cách nào đó tương tự với tôi, tuy nhiên, câu hỏi này hơi khác một chút nhưng với những điểm khác biệt quan trọng:

Nhiều câu hỏi tương tự trong đó việc bảo quản văn bản và liên kết không phải là một yêu cầu ( hầu hết các trang được chụp dưới dạng ảnh chụp màn hình hình ảnh ):


Ghi chú

HĐH: Windows 10


Nếu bạn muốn in từ trình duyệt, trước tiên bạn phải tắt mọi bảng định kiểu in để duy trì giao diện màn hình của trang web.
DavidPostill

Xem Cách nhận WYSIWYP (in những gì bạn thấy) trong trình duyệt web? . Xem câu trả lời của tôi cho câu hỏi đó.
DavidPostill

Sau đó, bạn có thể in bằng cách sử dụng trình soạn thảo CutePDF .
DavidPostill

@DavidPostill Dường như việc vô hiệu hóa các kiểu in không hoạt động hoặc nó không ảnh hưởng đến trình duyệt để hiển thị PDF chính xác. Một ảnh chụp màn hình ví dụ đã được thêm vào phiên bản chỉnh sửa của câu hỏi.
Omar

Tôi đã có cùng một câu hỏi ngày hôm nay và trang này đã giúp tôi (mặc dù đầu ra là phiên bản di động của trang): stackoverflow.com/questions/9540990/
Kẻ

Câu trả lời:


7

Chúng tôi đã đối mặt với cùng một vấn đề trong một dự án Đại học và có thể giải quyết nó bằng cách sử dụng

wkhtmltopdf

Chúng tôi khá thích các khả năng của công cụ này trên dòng lệnh. Chúng tôi cũng gọi nó bằng mã python để hiển thị trạng thái hiện tại của các trang web. Nó có tùy chọn phân phối trang web dưới dạng pdf, thường không hoàn hảo để duy trì chế độ xem trang web do định dạng Trang (ví dụ A4) hoặc dưới dạng png (duy trì chế độ xem của trang nhưng không liên kết)

Ngoài ra còn có dự án khả năng đọc (đối với Python: pypi.python.org/pypi/readability-lxml) mà chúng tôi đã sử dụng để loại bỏ quảng cáo và phát hiện nội dung khá tốt (ví dụ: đối với các bài báo và tương tự). Nếu bạn chỉ muốn một addon hoặc tiện ích mở rộng cho trình duyệt của mình, việc triển khai khả năng đọc sau đây có thể đáp ứng nhu cầu của bạn:

https://www.readability.com/addons/


Thật không may, wkhtmltopdf không bảo vệ vị trí các yếu tố của trang. Trang ví dụ : Hệ số thu phóng: 0,4: Ảnh chụp màn hình , xuất ra PDF
Omar

Khả năng đọc đơn giản hóa trang (đây là một điều tốt. Tuy nhiên đây không phải là thứ tôi đang tìm). Tôi cần giữ tất cả các thuộc tính vị trí / kiểu của trang như được thấy trên Trình duyệt web ở định dạng PDF mà không cần thao tác.
Omar

Bạn có sử dụng tùy chọn wkhtmltopng của công cụ không, vì png các vị trí sẽ ổn (ít nhất là tốt hơn nhiều so với phiên bản pdf có trang được định dạng A4)
sebisnow

3

Đóng góp một câu trả lời khác cho người dùng có thể. Trong Firefox, đã từng có một addon "In trang thành PDF". Bạn có thể tìm kiếm phiên bản cuối cùng 0.1.9.3 (chỉ hoạt động trên các phiên bản tiền lượng tử).

Hiện tại có addon này cho cả Chrome và Firefox hoạt động khá tốt: PDFMage

  • Lưu tất cả hình ảnh trong trang
  • Tạo văn bản dưới dạng văn bản, không phải là hình ảnh, bạn có thể tìm kiếm văn bản trong tệp PDF được tạo.
  • Bảo mật siêu liên kết
  • Có tùy chọn lưu một trang web dài dưới dạng PDF một trang (để hình ảnh không bị phân chia giữa các trang)

2

Tôi thực sự vật lộn với điều này và đã thử hầu hết các công cụ được đề cập cho đến nay. Kết quả tốt nhất tôi nhận được là sử dụng chế độ không đầu của Chrome. Lệnh trên MacOS sẽ như thế này:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --headless --print-to-pdf=test.pdf http://127.0.0.1:8080

Danh sách tốt nhất của các tùy chọn dòng lệnh tôi tìm thấy ở đây .

Tuy nhiên, có vấn đề với điều đó. Cụ thể, các trang của tôi rất nặng javascript và tôi không thể làm cho chức năng in chờ chúng hoàn tất. Vì vậy, đầu ra của tôi không có hình ảnh trong đó.

Giải pháp tôi tìm thấy là một gói nodeJS : chrome-headless-render-pdf. Đó là tài liệu ít ỏi ở đây . Nó hoạt động và nó dễ dàng được script.


2

Tôi gặp vấn đề tương tự và đã tìm ra nó thông qua Chrome và với trình điều khiển máy in miễn phí có tên PDF995. Đây là một phần của bộ tiện ích PDF; trang web của nhà xuất bản là http://www.pdf995.com/ .

Tuy nhiên, tôi nghĩ rằng bất kỳ trình duyệt web và bất kỳ trình chuyển đổi pdf nào cũng sẽ đủ. Dù sao, đây là những gì tôi đã làm:

  1. chọn tất cả hoặc làm nổi bật mọi thứ
  2. Nhấp chuột phải vào lựa chọn được tô sáng hoặc nhấn Ctrl + P (cả hai tùy chọn cho bạn kết quả hơi khác nhau, nhưng bạn kết thúc với cùng một kết quả sau khi hoàn thành).

  3. Nếu bạn nhấp chuột phải vào 2., lựa chọn (phím tắt), nhấp vào "in" và chỉ tất cả những gì bạn đã chọn sẽ có trên bản xem trước in. Đảm bảo bạn thay đổi đích máy in thành bất kỳ trình chuyển đổi pdf nào mà bạn quyết định sử dụng (PDF995 hoặc loại khác).

  4. Nhấp vào "in" và nó lưu dưới dạng tài liệu pdf.

  5. Thay vào đó, nếu bạn nhấn Ctrl + P trong 2. (cách hơi dài hơn), hãy nhấp vào "Cài đặt khác" và cuộn xuống "Tùy chọn".

  6. Nhấp vào hộp có nội dung "Chỉ lựa chọn" và mọi thứ trong phần rút gọn tôi mô tả sẽ theo sau.

  7. Đừng quên thay đổi đích máy in của bạn thành bất kỳ trình chuyển đổi pdf nào bạn chọn (PDF995 hoặc khác).

  8. Nhấp vào "in".



0

Mặc dù không chính xác yêu cầu của bạn như không có trong PDF, nhưng nếu mục tiêu hoàn toàn là giữ một bản sao ngoại tuyến của các trang web để xem xét sau này, hãy lưu nó làm trang web sẽ làm điều đó.

Nhắc nhở lớn là nó sẽ tạo một tệp .html và một thư mục chứa tất cả nội dung đa phương tiện trên trang chứ không phải là một tài liệu.

Trong Chrome và Firefox, bạn có thể lưu một trang bằng cách nhấp chuột phải vào nó và chọn Lưu dưới dạng ... Trong Internet Explorer, bạn có thể lưu nó trong Tệp -> Lưu dưới dạng (nhấn phím Alt để các menu xuất hiện).


Lưu trang web ở định dạng .html sẽ khiến trang web không chú thích được. Vì vậy, tôi cần nó ở định dạng PDF.
Omar

Đó là một điểm hay! Chỉ cần nhớ một tiện ích mở rộng cho phép bạn dễ dàng vô hiệu hóa các bảng định kiểu liên quan đến in. Một tìm kiếm nhanh trên google đã đưa tôi đến cuộc thảo luận khi tôi nghe về nó lần đầu tiên, trên Superuser: Làm thế nào để có WYSIWYP (in những gì bạn thấy) trong trình duyệt web?
Pyheme

Tôi đã thử thực hiện "Lưu dưới dạng" bằng Chrome. Nó tạo một tệp .HTML và một thư mục. Tệp .HTLM đã thiếu rất nhiều thứ trong trang.
SherlockS Lansheet

0

Hãy thử dịch vụ này. Tạo một tệp PDF từ một trang web khi bạn nhìn thấy nó trong trình duyệt. https://lomotoh.com/ (Tôi liên kết với trang web này)


Điều này bảo tồn các liên kết, nhưng văn bản không thể lựa chọn, đó là một yêu cầu trong câu hỏi.
fixer1234

Có vẻ được lựa chọn cho một số trang web. Tôi nghĩ rằng nó phụ thuộc vào loại phông chữ tùy chỉnh mà trang web sử dụng.
David Herse

0

Ít nhất tất cả các văn bản trên một số trang là có thể tìm kiếm, lựa chọn, cắt và dán. Tôi đã thử trên một trang được dán lên một cách robot bằng máy tính từ văn bản và pix và nó đã điều chỉnh tất cả thành một hình ảnh.

Tôi đã sử dụng những thứ này trong nhiều năm. Tôi nhận được kết quả tốt nhất trong Linux bằng cách xây dựng lại trang theo từ XX mà bạn chọn và xuất kết quả dưới dạng PDF. Tôi có thể có được những gì tôi muốn với chi phí đáng kể. Từ kho lưu trữ sử dụng hạn chế của tôi ivin Trang web David Herse đưa lên https://lomotoh.com/ (Tôi KHÔNG liên kết với trang web này) hoạt động tốt như bất kỳ trang web nào tôi từng sử dụng. Tôi sẽ là nguồn tài nguyên của tôi để bao gồm các trang web thành PDF cho đến khi tôi thấy tốt hơn hoặc chi phí quá cao cho tôi để trả tiền từ ví mỏng của riêng tôi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.