vfr/Reader là dự án mã nguồn mở trên GitHub, viết chủ yếu bằng Objective-C, với 4.2k sao. PDF Reader Core for iOS
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
This project is no longer supported or maintained. It is only here for historical reasons.
Please see the UXReader PDF Framework for iOS project for a possible replacement.
Introduction
I've crafted this open source PDF reader code for fellow iOS
developers struggling with wrangling PDF files onto iOS device
screens.
The code is universal and does not require any XIBs (as all UI
elements are code generated, allowing for greatest flexibility).
It runs on iPad, iPhone and iPod touch with iOS 6.0 and up. Also
supported are the Retina displays in all new devices and is ready
to be fully internationalized. The idea was to provide a complete
project template that you could start building from, or, just pull
the required files into an existing project to enable PDF
reading/viewing in your app(s).
After launching the sample app, tap on the left hand side of the
screen to go back a page. Tap on the right hand side to go to the
next page. You can also swipe left and right to change pages. Tap
on the screen to fade in the toolbar and page slider. Double-tap
with one finger (or pinch out) to zoom in. Double tap with two
fingers (or pinch in) to zoom out.
This implementation has been tested with large PDF files (over
250MB in size and over 2800 pages in length) and with PDF files of
all flavors (from text only documents to graphics heavy magazines).
It also works rather well on older devices (such as the iPod touch
4th generation and iPhone 3GS) and takes advantage of the dual-core
processor (via CATiledLayer and multi-threading) in new devices.
To see an example open source PDF Viewer App that uses this code
as its base, have a look at this project repository on GitHub:
https://github.com/vfr/Viewer
Features
Multithreaded: The UI is always quite smooth and responsive.
Supports:
iBooks-like document navigation.
Device rotation and all orientations.
Encrypted (password protected) PDFs.
PDF links (URI and go to page).
PDFs with rotated pages.
Notes
Version 2.x of the PDF reader code was originally developed
and tested under Xcode 3.2.6, LLVM 1.7 and iOS 4 with current
development and testing under Xcode 7.2, LLVM 7.0 and iOS 9.2.
Please note that as of v2.6, the code was refactored to use ARC.
The overall PDF reader functionality is encapsulated in the
ReaderViewController class. To present a document with this class,
you first need to create a ReaderDocument object with the file path
to the PDF document and then initialize a new ReaderViewController
with this ReaderDocument object. The ReaderViewController class uses
a ReaderDocument object to store information about the document and
to keep track of document properties (thumb cache directory path,
bookmarks and the current page number for example).
An initialized ReaderViewController can then be presented
modally, pushed onto a UINavigationController stack, placed in
a UITabBarController tab, or be used as a root view controller.
Please note that since ReaderViewController implements its own
toolbar, you need to hide the UINavigationController navigation
bar before pushing it and then show the navigation bar after
popping it. The ReaderDemoController class shows how this is
done with a bundled PDF file.
Required Files
The following files are required to incorporate the PDF
reader into one of your projects:
In ReaderConstants.h the following #define options are available:
READER_FLAT_UI - If TRUE, follows the Fuglyosity of Flat Fad
(flattens the UI).
READER_SHOW_SHADOWS - If TRUE, a shadow is shown around each page
and page thumbnail.
READER_ENABLE_THUMBS - If TRUE, a thumbs button is added to the main
toolbar enabling page thumbnail document navigation.
READER_DISABLE_RETINA - If TRUE, sets the CATiledLayer contentScale
to 1.0f. This effectively disables retina support and results in
non-retina device rendering speeds on retina display devices at
the loss of retina display quality.
READER_ENABLE_PREVIEW - If TRUE, a medium resolution page thumbnail
is displayed before the CATiledLayer starts to render the PDF page.
READER_DISABLE_IDLE - If TRUE, the iOS idle timer is disabled while
viewing a document (beware of battery drain).
READER_STANDALONE - If FALSE, a "Done" button is added to the toolbar
and the -dismissReaderViewController: delegate method is messaged when
it is tapped.
READER_BOOKMARKS - If TRUE, enables page bookmark support.
ReaderDocument Archiving
To change where the property list for ReaderDocument objects is stored
(~/Library/Application Support/ by default), see the +archiveFilePath:
method in the ReaderDocument.m source file. Archiving and unarchiving
of the ReaderDocument object for a document is mandatory since this is
where the current page number, bookmarks and directory of the document
page thumb cache is kept.
Contact Info
Email: joklamcak(at)gmail(dot)com
Twitter: @joklamcak
Acknowledgements
The PDF link support code in the ReaderContentPage class is based on
the links navigation code by Sorin Nistor from
http://ipdfdev.com/.
License
This code has been made available under the MIT License.
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/vfr/Reader là nguồn chính thức.
vfr/Reader có bao nhiêu sao?
vfr/Reader có 4.2k sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/vfr/Reader. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
vfr/Reader có phải mã nguồn mở không?
TopGit chưa ghi nhận license cho vfr/Reader. Phần lớn repo public trên GitHub là mã nguồn mở, nhưng điều khoản khác nhau từng repo — mở file LICENSE để xác nhận.
vfr/Reader còn đang phát triển không?
Commit gần nhất trên vfr/Reader là 6.6 năm trước (theo timestamp GitHub). Repo có 1.1k fork — một chỉ báo về mức độ quan tâm của cộng đồng.
vfr/Reader là gì?
vfr/Reader (vfr/Reader) là dự án Objective-C trên GitHub. Theo mô tả gốc: PDF Reader Core for iOS
Đọc đầy đủ README ở tab phía trên.
Reader có đáng để bạn bỏ thời gian?
ChatGPT, Claude và Perplexity đều đọc được trang này. Hỏi thử xem họ nghĩ gì về Reader.