
Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net
New homepage:
Visit Hathi Download Helper on hathidownloadhelper.sourceforge.net
Hathi Download Helper is a tool for downloading books from hathitrust.org.
Features:
- download of pdf files
- download of image files
- download of ocr text files
- export of download link lists
- creation of batch jobs (download multiple books at once)
- merges several pdfs to a single pdf book
- converts image files to pdfs or a pdf book
- creates searchable pdf files
- Proxy support
- webproxy support (disabled in HDH 1.1.1)
- page setup support due to underlying pdf printer (letter, A4, A3 etc.)
- Adjustable GUI style and font
- (auto) update checker
Dependencies:
- for merging of existing pdf files the free tool "pdftk" (http://www.pdflabs.com/) is used in the background.
Miscellaneous:
- Developed under QT 4.8.1 (mingw), Windows 7 Pro SP1, Windows 10 Pro
- tested with Windows 7 Pro, Windows 10 Pro , Windows XP Pro, Mac OS X 10.10
- binary installer for windows: HDH_v1.1.2_setup.exe (see links below)
- installer for Mac OS X: HDH_v1.1.2_setup_MacOsX (see links below)
Others:
- OS/2 and EcomStation package available ( thanks to qt-apps.org-member 'TeLLie')
2016.09.05 version 1.1.3 released 4 years ago
Bug fixes: pdf merging fails when downloading book with more than 1300 pages, fixes automatic update check feature. New features: Download whole books as 1 pdf when whole book download is available, added Pdf merging dialog to merge arbitrary pdf files.
2016.09.05 version 1.1.3 released 4 years ago
Bug fixes: pdf merging fails when downloading book with more than 1300 pages, fixes automatic update check feature. New features: Download whole books as 1 pdf when whole book download is available, added Pdf merging dialog to merge arbitrary pdf files.
4 years ago
18.05.2013: initial version 1.0.0
19.05.2013: version 1.0.1 released:
fixed bug in image resolution setting after 'page setup' dialog, renamed images files in qt resources, copied image files in application directory
24.05.2013: version 1.0.2 released:
changed development environment to 4.7.4, added compiler switch for qt 5.x, tested on linux and windows system, added options for GUI style and fonts, updated GUI, bug fix for missing ocr files, reduced freezing effect of GUI during pdf creation, added 'pdftk' binary for linux/OS, added selection for proxy type,
03.06.2013: version 1.0.3 released:
bug fix for proxy type selection. moved pdf merge & conversion into QThread worker to eliminate freezing effect of GUI during processing. Changed usage from QPixmap to QImage for pdf creation. Changed OCR text extraction method to reduce memory usage(QWebkit is really greedy). Improved text font size adjustment method. Added Author and Publisher information. Changed Windows installer creation from QT framework installer to inno setup compiler to fix kernel32.dll error on win XP.
02.07.2013: Version 1.0.4 released:
improved download performance by using parallel download requests (it is really much faster now :-D ), added encryption for proxy password, added 'check for update' feature, added batch job feature for downloading several books at once, added link export function
18.08.2013: version 1.0.5 released:
re-implementation of all GUI elements and dialogs, fixed text clipping of GUI elements, fixed page shrinking on pdf creation due to long ocr text, improved download speed, re-designed help file
27.10.2013: version 1.0.6 released:
bug fixes: lost destination path for single pdf-file creation, application crash on manual file selection. Added new features for batch job dialog: 'edit book', 'load job', 'save job', added gimmicks for Halloween and Christmas, minor changes.
30.03.2014: version 1.0.7 released:
added new download options: webproxies, resume of book downloads, added user settings dialog, added auto-update option, coding: separated GUI from file downloader.
06.05.2014: version 1.0.8 released:
adjustments due to changes in hathitrust.org link structure.
26.10.2014: version 1.0.9 released:
Updated GUI, added link collector feature, added history feature, added automatic proxy feature (including US proxies): 'AutoProxy', added verification check for proxy connections, improved pdf merging process, added field for copyright information, added check for corrupted pdf and image files, added automatic download resume in case of corrupted pdf files, minor bug fixes, changed development environment to Qt 4.8.0
30.11.2014 version 1.1.0 released:
bug fixes: fixed possible application crash on proxy activation, fixed PDFTK problems with too long file paths. Changes: disabled change-over from WebProxy to AutoProxy feature and vice versa during download, revised behaviour of various GUI controls to improve usability
19.05.2016 version 1.1.1 released:
Changes: adjustments to obtain SSL/TLS compatibility for https requests. (AutoProxy / WebProxy disabled)
07.06.2016 version 1.1.2 released:
Bug fixes: fixed and improved autoproxy feature. Changes: enabled resize of GUI, added message / bug report feature.
hathidownloadhelper
4 years ago
please note that the automatic and manual update check of Hathi Download Helper is not working any more. The problem is, that this feature extracts the update information from the qt-apps.org homepage itself. Since qt-apps.org seems to be gone the update check feature fails.
The update feature will be fixed in Version 1.1.3 of Hathi Download Helper.
Best regards
Martin aka HathiDownloadHelper
Report
hathidownloadhelper
4 years ago
I'm very sorry to announce at this point, that Hathi Download Helper will not be continued.
The latest changes on hathitrust.org - they have changed the protocol to https - have revealed some serious issues in the program code, which are causing not only program chrashes but also terminations of all network connections on the target system.
I'd like to say a big thank you to everyone for your feedback I've received in the last few years. But for personal reasons i'm not able to continue the hathi download helper project (at least within a reasonable period of time).
Best regards
Martin aka HathiDownloadHelper
@other Qt developer which may like to continue this project:
I'm well aware that my code is not the best, but since this was my very first Qt project I guess it is not too bad.
I will upload a working copy of the latest program code of HDH within the next few days.
I was able to adjust the download links, so that the general download feature seems to work properly. Proxy features (Webproxy, Proxy) have not been tested.
BUT: The application is NOT stable!! There are serious problems with the qnams get() commands in the hathidownlaodhelper.cpp file, which holds the first requests for downloading the html-pages and extracting all required information to download the complete book files. Either the network connections get killed instandly or after some get-requests or after restart of the application. (I was forced to restart my computer every time to fix the network problem).
See function: HathiDownloadHelper::slot_bookPageLoaded(QNetworkReply* pReply)
I've tested my application with Qt 4.8.0, Qt 4.8.1 and Qt 4.8.6 as well as with Qt 5.2.1 and Qt 5.5.1 using MingW on Windows 7 Pro to identify the problem.
Debugging releaved that there must be some pointer issues. But I was not able to locate the problem.
I will add some additional program descriptions to my upload.
Report
hathidownloadhelper
4 years ago
Report
tombig
4 years ago
Is there anyway to manually add a proxy and where to find any I can use as it now takes forever to download anything due to the 5 minute exceeded amount allowance waiting time.
Thanks again for your programme.
Tom
Report
hathidownloadhelper
4 years ago
thx for your message.
Since hathitrust has changed to https the buit-in proxy feature is not reliable anymore. Therefore I recommend to use additional tools instead (e.g. Hotspot Shield).
I hope that I can fix this problem in the upcoming version.
Within Hathi Download Helper, you can manually setup a proxy via menu bar -> tools -> Proxy. By clicking the checkbox "use proxy server" the application will apply your proxy settings and checks whether it can reach hathitrust.org homepage. You can find list with free proxy online. Just search for "free + proxy + list".
Best regards
Martin aka HathiDownloadHelper
Report
Montag01
4 years ago
Now every time I try using the program, I can't even get through the first step ("Get Book Information"). I keep getting the error message "http request failed". Is anyone else having the same problem?
Report
dambil
4 years ago
Report
Montag01
4 years ago
Now every time I try using the program, I can't even get through the first step ("Get Book Information"). I keep getting the error message "http request failed". Is anyone else having the same problem?
Report
MarkDewitt
4 years ago
Report
MarkDewitt
4 years ago
Report
tresp
4 years ago
Report
hathidownloadhelper
4 years ago
than u for your message and sorry for my late reply.
This problem will be fixed in HDH 1.1.2.
Best regards
Martin
Report
Raeene
6 years ago
I've been downloading a number of books that come in multiple volumes with the same name (volume no. is not in the title). This unfortunately makes them overwrite eachother and only the most recent one remains. Is there any way to add a feature to change the naming scheme?
Report
hathidownloadhelper
6 years ago
thank you very much for your post.
As you mentioned the book titles at hathitrust are not unique identifiers. Thus it might happen that the final pdf book could be overwritten when you download several books to the same folder (which is the case when the title is the same).
The solution for your problem is to make sure that the books are downloaded to separate folders. You can do this either manually by changing the download destination folder for each book or you can change the automatic naming option for the download folders to use the hathitrust ID instead of the book title.
+ To change the automatic naming option select 'Options'->'User settings' from the menu bar.
+ Within the 'Download settings' group box enable the 'automatically create download folder by' feature and change the option to 'book ID'
I hope this solution will work for you.
Best regards
HDH
Report
Illoai
6 years ago
<code>
#elif defined(Q_OS_FREEBSD)
QString sPdftkScript = "/usr/local/bin/pdftk ";
</code>
somewhere near line 3886 in hathidownloadhelper.cpp
Similarly, need to figure out something for the file manager around line 3922-ish. As it sits, though, it builds fine.
Cheers.
Report
Illoai
6 years ago
<code>
#elif (Q_OS_FREEBSD)
QString sPdftkScript = "/usr/local/bin/pdftk ";
</code>
somewhere near line 3886 in hathidownloadhelper.cpp
Similarly, need to figure out something for the file manager around line 3922-ish. As it sits, though, it builds fine.
Cheers.
Report
wolfetr
7 years ago
Hand curves do installer ? Make install don`t work
Report
hathidownloadhelper
7 years ago
Report
marcusbritanicus
7 years ago
Report
buchendor
7 years ago
I built without pains this qt application using qt 4.7.3 (I made a static compilation since I built qt statically) 31 MB unstripped, 25 MB stripped
strip --strip-unneeded
and about 9 MB compressed with upx
Report
buchendor
7 years ago
# qmake
Project MESSAGE: Warning: unknown QT: webkitwidgets
RCC: Error in 'images.qrc': Cannot find file 'images/elephant.png'
RCC: Error in 'images.qrc': Cannot find file 'images/elephant_leeching.gif'
RCC: Error in 'images.qrc': Cannot find file 'images/elephant_leeching.png'
RCC: Error in 'images.qrc': Cannot find file 'images/elephant_reading.gif'
RCC: Error in 'images.qrc': Cannot find file 'images/elephant.ico'
I managed to fix this moving all images into proper directory and re-started
-----------------------------------------------------------
# qmake
Project MESSAGE: Warning: unknown QT: webkitwidgets
--------------------------------------------------
# make
/usr/bin/uic hathidownloadhelper.ui -o ui_hathidownloadhelper.h
/usr/bin/uic proxydialog.ui -o ui_proxydialog.h
/usr/bin/uic fileselectdialog.ui -o ui_fileselectdialog.h
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I/usr/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include -I. -I. -o main.o main.cpp
main.cpp:2:21: error: QtWidgets: No such file or directory
In file included from hathidownloadhelper.h:6,
from main.cpp:5:
fileselectdialog.h:5:23: error: QStringlist: No such file or directory
In file included from hathidownloadhelper.h:6,
from main.cpp:5:
fileselectdialog.h:18: error: extra qualification ‘fileselectdialog::’ on member ‘getFileList’
In file included from main.cpp:5:
hathidownloadhelper.h:52: error: ‘QTextDocument’ has not been declared
main.cpp: In function ‘int main(int, char**)’:
main.cpp:10: error: variable ‘QApplication a’ has initializer but incomplete type
main.cpp:14: error: ‘QStyleFactory’ has not been declared
make: *** [main.o] Error 1
Report
marcusbritanicus
7 years ago
Report
hathidownloadhelper
7 years ago
Report
hathidownloadhelper
7 years ago
I'm using QT 5.0.2 on Windows 7 Pro., The version 1.0.0 was build without any problems. But I've used your log to fix the errors and uploaded version 1.0.1. I will test version 1.0.2 on both, Linux and Windows before uploading it.
Report