Skip to content

Instantly share code, notes, and snippets.

@coughingmouse
Last active May 9, 2023 21:10
Show Gist options
  • Save coughingmouse/ca5387b4634d036579d2a091657c514c to your computer and use it in GitHub Desktop.
Save coughingmouse/ca5387b4634d036579d2a091657c514c to your computer and use it in GitHub Desktop.
Downloads PDF file of Sehjong Xanqwuqe book from online ebook format
"""
Copyright (c) 2022-2023 Iso Lee
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
"""
# Works as of 2022-12-10
####### SETTING ########
# Open Google Colab and paste this into a cell
# Uncomment corresponding book name, book number, and page length
# Run the cell
#name = "King Sejong Institute Practical Korean 1 Korean"
#page = 182
#book = 842
#name = "King Sejong Institute Practical Korean 1 Chinese"
#page = 182
#book = 942
#name = "King Sejong Institute Practical Korean 1 Japanese"
#page = 182
#book = 941
#name = "King Sejong Institute Practical Korean 1 Vietnamese"
#page = 182
#book = 936
#name = "King Sejong Institute Practical Korean 1 Mongolian"
#page = 182
#book = 935
#name = "King Sejong Institute Practical Korean 1 Thai"
#page = 182
#book = 943
#name = "King Sejong Institute Practical Korean 1 Indonesian"
#page = 182
#book = 940
#name = "King Sejong Institute Practical Korean 1 Russian"
#page = 182
#book = 933
#name = "King Sejong Institute Practical Korean 1 Spanish"
#page = 182
#book = 937
#name = "King Sejong Institute Practical Korean 1 French"
#page = 182
#book = 945
#name = "King Sejong Institute Practical Korean 1 Portuguese"
#page = 182
#book = 944
#name = "King Sejong Institute Practical Korean 1 Malay"
#page = 182
#book = 934
#name = "King Sejong Institute Practical Korean 1 Arabic"
#page = 182
#book = 938
#name = "King Sejong Institute Practical Korean 1 Uzbek"
#page = 182
#book = 939
#name = "King Sejong Institute Practical Korean 1 Hindi"
#page = 182
#book = 946
#name = "King Sejong Institute Practical Korean 2 Korean"
#page = 186
#book = 825
#name = "King Sejong Institute Practical Korean 2 Chinese"
#page = 186
#book = 956
#name = "King Sejong Institute Practical Korean 2 Japanese"
#page = 186
#book = 955
#name = "King Sejong Institute Practical Korean 2 Vietnamese"
#page = 186
#book = 950
#name = "King Sejong Institute Practical Korean 2 Mongolian"
#page = 186
#book = 949
#name = "King Sejong Institute Practical Korean 2 Thai"
#page = 186
#book = 957
#name = "King Sejong Institute Practical Korean 2 Indonesian"
#page = 186
#book = 954
#name = "King Sejong Institute Practical Korean 2 Russian"
#page = 186
#book = 947
#name = "King Sejong Institute Practical Korean 2 Spanish"
#page = 186
#book = 951
#name = "King Sejong Institute Practical Korean 2 French"
#page = 186
#book = 959
#name = "King Sejong Institute Practical Korean 2 Portuguese"
#page = 186
#book = 958
#name = "King Sejong Institute Practical Korean 2 Malay"
#page = 186
#book = 948
#name = "King Sejong Institute Practical Korean 2 Arabic"
#page = 186
#book = 952
#name = "King Sejong Institute Practical Korean 2 Uzbek"
#page = 186
#book = 953
#name = "King Sejong Institute Practical Korean 2 Hindi"
#page = 186
#book = 960
#name = "King Sejong Institute Practical Korean 3"
#page = 182
#book = 831
#name = "King Sejong Institute Practical Korean 4"
#page = 182
#book = 832
#name = "외국인을 위한 한국어 문법1 체계편"
#page = 590
#book = 528
#name = "외국인을 위한 한국어 문법2 용법편"
#page = 928
#book = 529
#name = "King Sejong Institute Korean Introduction Korean"
#book = 818
#page = 259
#name = "King Sejong Institute Korean Introduction English"
#book = 906
#page = 261
#name = "King Sejong Institute Korean Introduction Chinese"
#book = 916
#page = 261
#name = "King Sejong Institute Korean Introduction Japanese"
#book = 915
#page = 261
#name = "King Sejong Institute Korean Introduction Vietnamese"
#book = 910
#page = 261
#name = "King Sejong Institute Korean Introduction Mongolian"
#book = 909
#page = 261
#name = "King Sejong Institute Korean Introduction Thai"
#book = 917
#page = 261
#name = "King Sejong Institute Korean Introduction Indonesian"
#book = 914
#page = 261
#name = "King Sejong Institute Korean Introduction Russian"
#book = 907
#page = 261
#name = "King Sejong Institute Korean Introduction Spanish"
#book = 911
#page = 261
#name = "King Sejong Institute Korean Introduction French"
#book = 919
#page = 261
#name = "King Sejong Institute Korean Introduction Portuguese"
#book = 918
#page = 261
#name = "King Sejong Institute Korean Introduction Malay"
#book = 908
#page = 261
#name = "King Sejong Institute Korean Introduction Arabic"
#book = 912
#page = 261
#name = "King Sejong Institute Korean Introduction Uzbek"
#book = 913
#page = 261
#name = "King Sejong Institute Korean Introduction Hindi"
#book = 920
#page = 261
name = "세종한국어 1A"
book = 757
page = 138
#name = "세종한국어 익힘책 1A"
#book = 773
#page = 110
#name = "세종한국어 어휘·표현과 문법 1A"
#book = 785
#page = 66
#name = "세종한국어 더하기 활동 1A"
#book = 765
#page = 62
#name = "세종한국어 1B"
#book = 758
#page = 134
#name = "세종한국어 익힘책 1B"
#book = 774
#page = 102
#name = "세종한국어 어휘·표현과 문법 1B"
#book = 786
#page = 62
#name = "세종한국어 더하기 활동 1B"
#book = 766
#page = 74
#name = "세종한국어 2A"
#book = 759
#page = 134
#name = "세종한국어 익힘책 2A"
#book = 775
#page = 102
#name = "세종한국어 어휘·표현과 문법 2A"
#book = 787
#page = 58
#name = "세종한국어 더하기 활동 2A"
#book = 767
#page = 86
#name = "세종한국어 2B"
#book = 760
#page = 134
#name = "세종한국어 익힘책 2B"
#book = 776
#page = 102
#name = "세종한국어 어휘·표현과 문법 2B"
#book = 788
#page = 62
#name = "세종한국어 더하기 활동 2B"
#book = 768
#page = 82
#name = "세종한국어 3A"
#book = 761
#page = 126
#name = "세종한국어 익힘책 3A"
#book = 777
#page = 98
#name = "세종한국어 어휘·표현과 문법 3A"
#book = 789
#page = 62
#name = "세종한국어 더하기 활동 3A"
#book = 769
#page = 102
#name = "세종한국어 3B"
#book = 762
#page = 126
#name = "세종한국어 익힘책 3B"
#book = 778
#page = 98
#name = "세종한국어 어휘·표현과 문법 3B"
#book = 790
#page = 66
#name = "세종한국어 더하기 활동 3B"
#book = 770
#page = 102
#name = "세종한국어 4A"
#book = 763
#page = 130
#name = "세종한국어 익힘책 4A"
#book = 779
#page = 98
#name = "세종한국어 어휘·표현과 문법 4A"
#book = 791
#page = 54
#name = "세종한국어 더하기 활동 4A"
#book = 771
#page = 94
#name = "세종한국어 4B"
#book = 764
#page = 130
#name = "세종한국어 익힘책 4B"
#book = 780
#page = 98
#name = "세종한국어 어휘·표현과 문법 4B"
#book = 792
#page = 54
#name = "세종한국어 더하기 활동 4B"
#book = 772
#page = 94
########################
## Importing Necessary Modules
import requests # to get image from the web
import shutil # to save it locally
!pip install fpdf
from fpdf import FPDF
pdf = FPDF()
for i in range(page):
## Set up the image URL and filename
num = str(i + 1).zfill(3)
image_url = f"https://nuri.iksi.or.kr/e-book/catImage/{book}/{num}.jpg"
filename = image_url.split("/")[-1]
# Open the url image, set stream to True, this will return the stream content.
r = requests.get(image_url, stream = True)
# Check if the image was retrieved successfully
if r.status_code == 200:
# Set decode_content value to True, otherwise the downloaded image file's size will be zero.
r.raw.decode_content = True
# Open a local file with wb ( write binary ) permission.
with open(filename,'wb') as f:
shutil.copyfileobj(r.raw, f)
else:
print('Image Couldn\'t be retreived')
pdf.add_page()
pdf.image(filename, 0, 0, 210, 297)
pdf.output(f"{name}.pdf", "F")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment