How Can I View Metadata Of Pdf In Python With PyPDF2?

2025-09-02 01:20:04
423
Share
ABO Personality Quiz
Take a quick quiz to find out whether you‘re Alpha, Beta, or Omega.
Start Test
Write Answer
Ask Question

4 Answers

Zander
Zander
Favorite read: Bound by paper
Book Clue Finder Engineer
Quick and practical — when I need to view metadata fast I do the minimal thing and keep it friendly. Open your PDF in binary mode, use PdfReader (or PdfFileReader if you have an older install), check reader.is_encrypted and decrypt if needed, then print reader.metadata. Example:

from PyPDF2 import PdfReader
reader = PdfReader('sample.pdf')
print(reader.metadata)

Common pitfalls: metadata can be None, keys are often prefixed with a '/', and CreationDate strings may be in PDF-specific format. If you just need a human-readable dump, convert the mapping to plain strings and strip leading slashes. Also peek at reader.num_pages if you're cataloging files — metadata plus page count is a great start for organizing a small library.
2025-09-03 14:00:21
30
Detail Spotter Nurse
I tend to experiment a lot and I made a small utility function that not only reads metadata via PyPDF2 but also normalizes date strings into datetime objects. The annoying part is that PDF dates are often in the format "D:YYYYMMDDHHmmSSOHH'mm'" and need parsing. Example flow I follow:

- Open file using PdfReader (or PdfFileReader on old versions).
- Decrypt if necessary.
- Read reader.metadata and convert keys like '/CreationDate' to 'CreationDate'.
- Try parsing CreationDate and ModDate to datetime, fallback to the raw string.

A condensed code sketch:

from PyPDF2 import PdfReader
import re
from datetime import datetime

def parse_pdf_date(s):
if not s: return None
m = re.match(r"D:(\d{4})(\d{2})?(\d{2})?(\d{2})?(\d{2})?(\d{2})?", s)
if not m: return s
parts = [int(p) if p else 0 for p in m.groups()]
return datetime(parts[0], max(1, parts[1] or 1), max(1, parts[2] or 1), parts[3], parts[4], parts[5])

reader = PdfReader('file.pdf')
meta = reader.metadata or {}
clean = {k.lstrip('/'): (parse_pdf_date(v) if 'Date' in k else v) for k, v in meta.items()}
print(clean)

I enjoy doing this because it turns raw garbage into something I can sort/filter in a folder of PDFs. If you want, I can show how to export these into CSV or add a GUI to browse them.
2025-09-04 12:06:44
30
Plot Detective Nurse
I like keeping things compact when I'm troubleshooting — here's a slightly different way I go about it. First, install or update PyPDF2 (pip install PyPDF2). Then use the legacy-style call if you happen to have an older release:

from PyPDF2 import PdfFileReader
with open('document.pdf', 'rb') as f:
reader = PdfFileReader(f)
if reader.isEncrypted:
reader.decrypt('')
info = reader.getDocumentInfo()

getDocumentInfo() returns a DocumentInformation object where keys are '/Title', '/Author', etc. I usually convert it to a normal dict with something like: metadata = {k[1:]: v for k, v in info.items()} to drop the leading slash for easier printing. Watch out: some PDFs only embed a creation or modification date and nothing else, and encrypted files will block metadata access until decrypted.

Occasionally I prefer calling external tools like 'pdfinfo' when PyPDF2 seems to miss embedded XMP metadata, but for most quick inspections PyPDF2 does the job perfectly. If you need to mutate metadata, PyPDF2 also supports updating it via PdfWriter, but that's a different little dance.
2025-09-04 22:19:11
21
Responder Mechanic
Oh, I love digging into little file mysteries — PDFs are no exception. If you just want to peek at metadata with PyPDF2, the modern, straightforward route is to use PdfReader and inspect the .metadata attribute. Here's the tiny script I usually toss into a REPL or a small utility file:

from PyPDF2 import PdfReader

reader = PdfReader('example.pdf')
if reader.is_encrypted:
try:
reader.decrypt('') # try empty password
except Exception:
raise RuntimeError('PDF is encrypted and requires a password')

meta = reader.metadata # returns a dictionary-like object
print(meta)

That .metadata often contains keys like '/Title', '/Author', '/Creator', '/Producer', '/CreationDate' and '/ModDate'. Sometimes it's None or sparse — many PDFs don't bother to set all fields. I also keep a tiny helper to normalize keys and parse the odd CreationDate format (it looks like "D:20201231235959Z00'00'") into a Python datetime when I need to display a friendlier timestamp. If you're on an older PyPDF2 version you'll see PdfFileReader and reader.getDocumentInfo() instead; the idea is the same.

If you want pretty output, convert meta to a plain dict and iterate key/value pairs, or write them to JSON after sanitizing dates. It’s a tiny ritual I enjoy before archivism or just poking through downloaded manuals.
2025-09-07 11:37:59
4
View All Answers
Scan code to download App

Related Books

Related Questions

How to extract text from a pdf using python?

3 Answers2025-07-10 19:52:33
I've been tinkering with Python for a while now, and extracting text from PDFs is something I do often for my personal projects. The simplest way I found is using the 'PyPDF2' library. You start by installing it with pip, then import the PdfReader class. Open the PDF file in binary mode, create a PdfReader object, and loop through the pages to extract text. It works well for most standard PDFs, though sometimes the formatting can be a bit messy. For more complex PDFs, especially those with images or non-standard fonts, I switch to 'pdfplumber', which gives cleaner results but is a bit slower. Both methods are straightforward and don't require much code, making them great for beginners.

How to edit normal pdf metadata with python script?

4 Answers2025-07-04 11:38:08
Editing PDF metadata with Python is surprisingly straightforward once you get the hang of it. I've tinkered with this quite a bit for organizing my digital library, and the 'PyPDF2' library is my go-to tool. After installing it via pip, you can easily open a PDF, access its metadata like title, author, or keywords, and modify them as needed. The process involves creating a PdfFileReader object, updating the metadata dictionary, and then writing it back using PdfFileWriter. One thing to watch out for is that some PDFs might have restricted editing permissions, so you might need additional tools like 'pdfrw' or 'pdfminer' for more complex cases. I also recommend checking out 'ReportLab' if you need to create PDFs from scratch with custom metadata. Always make sure to work on a copy of your file first, just in case something goes wrong. The Python community has tons of open-source examples on GitHub if you need inspiration for more advanced scripting.

How do I view metadata of pdf files on Windows 10?

4 Answers2025-09-02 11:26:25
Okay, here’s the friendly walkthrough I’d give a pal who just asked this over coffee. On Windows 10, the simplest place to start is File Explorer: right‑click the PDF, pick 'Properties', then open the 'Details' tab. You’ll see basic fields like Title, Author, and sometimes Keywords — but Windows only shows what the file embeds in standard metadata fields, so a lot of PDFs look blank here even if they contain extra info. If you want the metadata that most PDF readers expose, open the file in 'Adobe Acrobat Reader DC' (or 'PDF-XChange Editor', or 'SumatraPDF') and press Ctrl+D or go to File → Properties. That view tends to show more PDF-specific fields (like Producer, PDF version, and custom XMP data). For power users who need everything, I use 'ExifTool' (free): exiftool file.pdf shows all embedded metadata. It’s faster for batches: exiftool *.pdf dumps metadata for every file in a folder. Try a couple of these depending on how deep you need to go — and if you’re prepping files to share, remember to scrub metadata first if privacy matters.

How can I view metadata of pdf using Adobe Acrobat?

4 Answers2025-09-02 15:38:00
Okay, here’s a friendly walkthrough that I actually use when poking around PDFs: open the PDF in Adobe Acrobat (Reader or Pro), then press Ctrl+D (Cmd+D on a Mac) to pop up the Document Properties window. The Description tab is the quick view — Title, Author, Subject, and Keywords live there. If you want more, click the 'Additional Metadata' button in that window; that opens the XMP metadata viewer where you can see deeper fields like PDF producer, creation and modification timestamps, and any custom namespaces embedded by other apps. If you have Acrobat Pro, I go further: Tools > Protect & Standardize > Remove Hidden Information (or search for 'Remove Hidden Information' in Tools). That previews hidden metadata, attached data, and comments that ordinary users might miss. For structural or compliance checks I open Tools > Print Production > Preflight to inspect PDF/A, PDF/X, font embedding, and more. Small tip: editing the basic fields is done right in Document Properties (change Title/Author/Keywords), but for full cleanup or forensic detail, Preflight and Remove Hidden Information are where I live — they surface the stuff regular viewers won't show.

How can I view metadata of pdf without installing software?

4 Answers2025-09-02 16:25:35
I love poking around files, so here’s a friendly walk-through that doesn’t require installing anything new. On Windows you can often get basic metadata without extra tools: right-click the PDF file in File Explorer, choose 'Properties' and open the 'Details' tab. You’ll see fields like Title, Author, and sometimes Creation and Modification dates. On macOS, select the file in Finder and hit 'Get Info' (or press ⌘I) for similar details. Both of these show filesystem-level and embedded metadata that many PDFs include. If you want more embedded info, open the PDF in Firefox (its built-in viewer is great for this). Click the small 'i' icon or look for 'Document Properties' in the viewer toolbar; it exposes XMP/metadata like Producer, Creator, and custom fields. Alternatively, you can upload to Google Drive and open the details pane — it shows upload/owner info and sometimes core metadata. Quick heads-up: I don’t like uploading personal docs to third-party sites, so for sensitive PDFs I stick to local methods like Finder/File Explorer or opening the file in a plain text editor and searching for '/Title' or '' blocks to read raw metadata. If you see XML tags, that’s the XMP packet and it’s human-readable, which I find oddly satisfying.</div></div><div class="qa-item" data-v-b7353ae2><h3 data-v-b7353ae2><a href="/qa/view-metadata-pdf-macos-preview-app" class="qa-item-title" data-v-b7353ae2> Where can I view metadata of pdf on macOS Preview app? </a></h3><div class="qa-item-line" data-v-b7353ae2><span data-v-b7353ae2>4 Answers</span><span data-v-b7353ae2>2025-09-02 19:02:44</span></div><div class="qa-item-desc" data-v-b7353ae2>If you've got a PDF open in Preview, the quickest way I use is Tools → Show Inspector (or press Command-I). When the Inspector pops up you'll usually see an 'i' tab or a 'More Info' section where Preview displays metadata like Title, Author, Subject/Keywords (if the file has them), PDF producer/creator, PDF version, page size and sometimes creation/modification dates. If nothing shows up there, it often means the PDF simply doesn't have embedded metadata. Preview's metadata viewer is handy for a quick peek, but it's a viewer-first tool: editing fields is limited or inconsistent across macOS versions. If you need to dig deeper or edit stuff, I switch to Finder's Get Info for basic tags, or use Terminal: mdls /path/to/file.pdf reveals Spotlight metadata, and 'exiftool' shows practically everything. For full edit control I go to a dedicated app like 'Adobe Acrobat' or a metadata editor. Preview's Inspector gets you most of what you need at a glance, though, and for quick checks it's my go-to.</div></div><div class="qa-item" data-v-b7353ae2><h3 data-v-b7353ae2><a href="/qa/view-metadata-pdf-command-line-linux" class="qa-item-title" data-v-b7353ae2> Can I view metadata of pdf from command line on Linux? </a></h3><div class="qa-item-line" data-v-b7353ae2><span data-v-b7353ae2>4 Answers</span><span data-v-b7353ae2>2025-09-02 00:27:28</span></div><div class="qa-item-desc" data-v-b7353ae2>Hey, if you like poking around files the same way I do when I'm binge-reading liner notes, Linux makes PDF metadata super accessible from the command line. For a quick peek I usually start with pdfinfo (part of poppler-utils). It gives a neat summary: Title, Author, Creator, Producer, CreationDate, ModDate, Pages, PDF version, page size, and more. Example: pdfinfo 'mydoc.pdf'. If you want to filter it down: pdfinfo 'mydoc.pdf' | grep -Ei '^(Title|Author|Producer|CreationDate|Pages)'. If you want everything — the XMP, custom metadata and more — I love exiftool (package name libimage-exiftool-perl on Debian/Ubuntu). exiftool -a -u -g1 'mydoc.pdf' dumps lots of readable tags organized by group. For raw XMP in case you want to copy-paste XML, strings 'mydoc.pdf' | sed -n '/<x:xmpmeta>/,/<\/x:xmpmeta>/p' can pull out the chunk (works for many PDFs but not guaranteed for all). Other useful tools: pdftk 'mydoc.pdf' dump_data prints InfoKey/InfoValue pairs and is handy for scripts, and mutool (from mupdf) or qpdf can inspect internals or check encryption. If a file is password-protected you can often pass the password (pdfinfo has -upw/-opw). I often combine these in small scripts to audit batches of PDFs — it’s oddly satisfying. Play around and you’ll find the combo that fits your workflow best.</div></div><div class="qa-item" data-v-b7353ae2><h3 data-v-b7353ae2><a href="/qa/view-metadata-pdf-created-microsoft-word" class="qa-item-title" data-v-b7353ae2> How can I view metadata of pdf created by Microsoft Word? </a></h3><div class="qa-item-line" data-v-b7353ae2><span data-v-b7353ae2>4 Answers</span><span data-v-b7353ae2>2025-09-02 21:10:50</span></div><div class="qa-item-desc" data-v-b7353ae2>Oh, this one makes me nerdy-happy — I check PDF metadata all the time when I’m cleaning documents before sending them out. If you’re still in Word, the easiest place to start is File → Info. You’ll see basic properties like Author and Title there; click Properties → Advanced Properties to edit Summary, Statistics, and any Custom fields. When you Save As PDF, click Options in the Save dialog and make sure document properties are preserved or removed depending on your goal. After the PDF exists, open it in a PDF reader — in 'Adobe Acrobat Reader' go to File → Properties (or press Ctrl+D) to view Description (Title, Author, Subject, Keywords), Custom metadata, and the PDF producer and creation/modification times. If you want forensic-level detail, use tools like exiftool (exiftool myfile.pdf) or Poppler’s pdfinfo (pdfinfo myfile.pdf) on the command line; they dump XMP and embedded metadata. Also double-check Windows File Explorer (right-click → Properties → Details) or macOS Finder (Get Info) for quick looks. If privacy is the issue, run Word’s Document Inspector (File → Info → Check for Issues → Inspect Document) before exporting or use Acrobat’s Remove Hidden Information / Sanitize features. Personally, I run exiftool as a final check because it reveals everything including odd custom properties that Word sometimes tucks away.</div></div><div class="qa-item" data-v-b7353ae2><h3 data-v-b7353ae2><a href="/qa/view-metadata-pdf-remove-sensitive-info" class="qa-item-title" data-v-b7353ae2> How can I view metadata of pdf and remove sensitive info? </a></h3><div class="qa-item-line" data-v-b7353ae2><span data-v-b7353ae2>4 Answers</span><span data-v-b7353ae2>2025-09-02 00:44:29</span></div><div class="qa-item-desc" data-v-b7353ae2>Okay, let me walk you through this like I’m chatting over coffee — metadata in PDFs hides in more places than you’d think, and removing it cleanly takes a couple of different moves. First, inspect. I usually run simple tools to see what’s actually inside: open the PDF’s Properties in a viewer (File > Properties), run pdfinfo (poppler) or exiftool to get a full readout (exiftool file.pdf), and also search the raw file for XML XMP packets (open in a text editor and look for '<x:xmpmeta' or '/Metadata'). Those tell you about the Info dictionary (Title, Author, CreationDate) and any XMP metadata. Don’t forget attachments, embedded fonts, or hidden form data — these won’t always show in basic viewers. Next, remove. If I’m on a machine with ExifTool, I run: exiftool -all= -overwrite_original file.pdf which nukes most metadata fields (ExifTool often makes a backup unless you use -overwrite_original). For a GUI I’ll use a proper PDF editor: in Acrobat Pro use Tools > Redact > Remove Hidden Information or Tools > Sanitize Document (that removes XMP, hidden layers, comments, metadata and more). As a safety habit I always create a copy, check again with exiftool/pdfinfo, and scan the new file for any leftover strings of sensitive text. And I avoid online uploaders for sensitive docs unless I’m sure they’re trustworthy.</div></div><div class="qa-item" data-v-b7353ae2><h3 data-v-b7353ae2><a href="/qa/tools-let-view-metadata-pdf-free-online" class="qa-item-title" data-v-b7353ae2> Which tools let me view metadata of pdf for free online? </a></h3><div class="qa-item-line" data-v-b7353ae2><span data-v-b7353ae2>4 Answers</span><span data-v-b7353ae2>2025-09-02 21:24:33</span></div><div class="qa-item-desc" data-v-b7353ae2>I've been digging through PDFs for research and personal projects a lot lately, so I’ve tried a handful of free online tools that actually show PDF metadata without too much fuss. If you want quick, no-install checks, I usually reach for 'Sejda' or 'PDFCandy' — both have a specific 'Edit metadata' or metadata viewer page where you can see title, author, subject, keywords, PDF producer, and sometimes creation/modification dates. 'Aspose' has a neat online demo that reads metadata cleanly and even lists custom XMP fields. For a very lightweight view I sometimes drop files into 'PDF24 Tools' or peek at 'GroupDocs' demo pages, which often surface the same fields. One caveat I always tell friends: if the document is sensitive, avoid uploading it to public sites. For privacy I fallback to a local utility like 'ExifTool' or 'PDF-XChange Editor' when I can. Otherwise, these web tools are great for quick checks, and I like that they show the common metadata fields without making me wrestle with complex menus.</div></div></div></div><div class="qad-block" data-v-06133d27><h2 class="qad-title" data-v-06133d27>Related Searches</h2><div class="qas" data-v-e6977e9e data-v-06133d27><a href="/qa/t_change-pdf-metadata-online" class="qas-item" data-v-e6977e9e><h3 class="qas-item-text" data-v-e6977e9e>Change Pdf Metadata Online</h3></a></div></div></div><div class="qad-right" data-v-06133d27><div class="qad-right-section" data-v-06133d27><div class="list" data-v-4c1b4076 data-v-06133d27><div class="list-title" data-v-4c1b4076>Popular Question</div><div class="list-list" data-v-4c1b4076><div class="list-item" data-v-4c1b4076><div class="right-item-index" data-v-4c1b4076>01</div><span data-v-4c1b4076><a href="/qa/elven-princess-balance-love-duty-fantasy-romance" class="right-item-title" data-v-4c1b4076>How Does An Elven Princess Balance Love And Duty In Fantasy Romance?</a></span></div><div class="list-item" data-v-4c1b4076><div class="right-item-index" data-v-4c1b4076>02</div><span data-v-4c1b4076><a href="/qa/download-sinners-consumed-pdf-safely" class="right-item-title" data-v-4c1b4076>Where Can I Download Sinners Consumed PDF Safely?</a></span></div><div class="list-item" data-v-4c1b4076><div class="right-item-index" data-v-4c1b4076>03</div><span data-v-4c1b4076><a href="/qa/fans-debate-fairy-tail-erza-seduction-armor-cosplay-communities" class="right-item-title" data-v-4c1b4076>How Do Fans Debate Fairy Tail Erza Seduction Armor In Cosplay Communities?</a></span></div><div class="list-item" data-v-4c1b4076><div class="right-item-index" data-v-4c1b4076>04</div><span data-v-4c1b4076><a href="/qa/platforms-host-best-futa-male-fanfic-collections" class="right-item-title" data-v-4c1b4076>Which Platforms Host The Best Futa On Male Fanfic Collections?</a></span></div><div class="list-item" data-v-4c1b4076><div class="right-item-index" data-v-4c1b4076>05</div><span data-v-4c1b4076><a href="/qa/major-plot-twists-dungeon-academy-series" class="right-item-title" data-v-4c1b4076>Are There Any Major Plot Twists In Dungeon Academy Series?</a></span></div><div class="list-item" data-v-4c1b4076><div class="right-item-index" data-v-4c1b4076>06</div><span data-v-4c1b4076><a href="/qa/dystopian-romance-novels-feature-forbidden-love-system" class="right-item-title" data-v-4c1b4076>Which Dystopian Romance Novels Feature Forbidden Love Against The System?</a></span></div><div class="list-item" data-v-4c1b4076><div class="right-item-index" data-v-4c1b4076>07</div><span data-v-4c1b4076><a href="/qa/apps-let-read-romance-books-free-without-ads" class="right-item-title" data-v-4c1b4076>Which Apps Let Me Read Romance Books For Free Without Ads?</a></span></div><div class="list-item" data-v-4c1b4076><div class="right-item-index" data-v-4c1b4076>08</div><span data-v-4c1b4076><a href="/qa/novel-devil-judge-explore-justice-themes" class="right-item-title" data-v-4c1b4076>How Does The Novel The Devil Judge Explore Justice Themes?</a></span></div><div class="list-item" data-v-4c1b4076><div class="right-item-index" data-v-4c1b4076>09</div><span data-v-4c1b4076><a href="/qa/emotional-conflicts-drive-halsin-x-astarion-fanfic-storylines" class="right-item-title" data-v-4c1b4076>What Emotional Conflicts Drive Halsin X Astarion Fanfic Storylines?</a></span></div><div class="list-item" data-v-4c1b4076><div class="right-item-index" data-v-4c1b4076>10</div><span data-v-4c1b4076><a href="/qa/book-series-like-fifty-shades-grey-similar-erotic-themes" class="right-item-title" data-v-4c1b4076>Are There Book Series Like Fifty Shades Of Grey With Similar Erotic Themes?</a></span></div></div></div></div><div class="qad-right-section" data-v-06133d27><div class="qad-right-title" data-v-06133d27>Popular Searches</div><div class="qas qas--list" data-v-e6977e9e data-v-06133d27><a href="/qa/t_study-bibles-for-beginners" class="qas-item" data-v-e6977e9e><div class="qas-item-text" data-v-e6977e9e>Study Bibles For Beginners</div></a><a href="/qa/t_christian-romance-novels" class="qas-item" data-v-e6977e9e><div class="qas-item-text" data-v-e6977e9e>Christian Romance Novels</div></a><a href="/qa/t_gloves-off-by-stephanie-archer" class="qas-item" data-v-e6977e9e><div class="qas-item-text" data-v-e6977e9e>Gloves Off By Stephanie Archer</div></a><a href="/qa/t_pdf-to-epub-converter-freeware" class="qas-item" data-v-e6977e9e><div class="qas-item-text" data-v-e6977e9e>Pdf To Epub Converter Freeware</div></a><a href="/qa/t_my-life-with-the-chimpanzees" class="qas-item" data-v-e6977e9e><div class="qas-item-text" data-v-e6977e9e>My Life With The Chimpanzees</div></a><a href="/qa/t_before-and-after" class="qas-item" data-v-e6977e9e><div class="qas-item-text" data-v-e6977e9e>Before And After</div></a><a href="/qa/t_books-online-free-download-pdf" class="qas-item" data-v-e6977e9e><div class="qas-item-text" data-v-e6977e9e>Books Online Free Download Pdf</div></a><a href="/qa/t_new-york-times-best-seller" class="qas-item" data-v-e6977e9e><div class="qas-item-text" data-v-e6977e9e>New York Times Best Seller</div></a><a href="/qa/t_jujutsu-kaisen-the-spirit-of-yasha" class="qas-item" data-v-e6977e9e><div class="qas-item-text" data-v-e6977e9e>Jujutsu Kaisen The Spirit Of Yasha</div></a><a href="/qa/t_warhammer-fanfiction" class="qas-item" data-v-e6977e9e><div class="qas-item-text" data-v-e6977e9e>Warhammer Fanfiction</div></a></div></div></div></div><div class="downb qad-db" data-v-2571a44a data-v-06133d27><div class="downb-img" data-v-2571a44a></div><div class="downb-con" data-v-2571a44a><div class="downb-title" data-v-2571a44a>Explore and read <span>good novels for free</span></div><div class="downb-desc" data-v-2571a44a>Free access to a vast number of good novels on GoodNovel app. Download the books you like and read anywhere &amp; anytime.</div></div><div position="foot_banner" size="128" class="downb-qrcode" data-v-2571a44a><div class="qr-code-wrap" style="width:120px;height:120px;" data-v-9c5e2524 data-v-2571a44a><div value="" level="H" background="#fff" foreground="#000" class="qr-code" data-v-9c5e2524><canvas height="120" width="120" style="width:120px;height:120px;"></canvas></div><img src="https://yfbwww.goodnovel.com/pcdist/src/assets/images/common/51e534b7-logo_icon.png" alt class="qr-code-logo" data-v-9c5e2524></div><div class="downb-qrcode-desc" data-v-2571a44a>Read books for free on the app</div></div></div><!----><!----><!----></div></div><div class="container-box" style="display:none;" data-v-1e4f73b2><div class="page-loading-wrap" data-v-62844f26 data-v-1e4f73b2><div data-v-62844f26><img src="https://yfbwww.goodnovel.com/pcdist/src/assets/images/9305813c-page_loading.png" alt="loading" class="loading-img" data-v-62844f26></div><div class="loading-txt" data-v-62844f26> Loading... </div></div></div><footer class="footer footer-en" data-v-71c8bf41 data-v-1e4f73b2><ul class="box" data-v-71c8bf41><li class="aboutus" data-v-71c8bf41><img alt="GoodNovel" src="https://yfbwww.goodnovel.com/pcdist/src/assets/images/footer/269a57cf-logo.png" fetchpriority="low" class="aboutus-logo" data-v-71c8bf41><div class="aboutus-follow-text" data-v-71c8bf41>Follow Us:</div><div class="aboutus-follow-list" data-v-71c8bf41><a href="https://www.facebook.com/GoodNovels" rel="nofollow" class="fb" data-v-71c8bf41></a><a href="https://www.tiktok.com/@goodnovelofficial" rel="nofollow" class="tt" data-v-71c8bf41></a><a href="https://www.instagram.com/goodnovelist" rel="nofollow" class="ins" data-v-71c8bf41></a><a href="https://www.youtube.com/@GoodNovelOfficial" rel="nofollow" class="utube" data-v-71c8bf41></a></div><div class="aboutus-copy" data-v-71c8bf41>Copyright ©‌ 2026 GoodNovel</div><div class="aboutus-line" data-v-71c8bf41><a href="/terms" rel="nofollow" data-v-71c8bf41>Terms of Use</a><span data-v-71c8bf41>|</span><a href="/privacy" rel="nofollow" data-v-71c8bf41>Privacy Policy</a></div></li><li class="item" data-v-71c8bf41><div class="title" data-v-71c8bf41>Hot Genres</div><a href="/stories/Romance-novels" class="content-li" data-v-71c8bf41>Romance</a><a href="/stories/Werewolf-novels" class="content-li" data-v-71c8bf41>Werewolf</a><a href="/stories/Mafia-novels" class="content-li" data-v-71c8bf41>Mafia</a><a href="/stories/System-novels" class="content-li" data-v-71c8bf41>System</a><a href="/stories/Fantasy-novels" class="content-li" data-v-71c8bf41>Fantasy</a><a href="/stories/Urban-novels" class="content-li" data-v-71c8bf41>Urban</a></li><li class="item" data-v-71c8bf41><div class="title" data-v-71c8bf41>Contact us</div><a href="/about_us" class="content-li" data-v-71c8bf41>About Us</a><a target="_blank" rel="nofollow" href="https://docs.google.com/forms/d/e/1FAIpQLSeN_Qb3KRdbzPQ1RGw3HTX3nOtl90SLwkBHYre56Dh_e4efNw/viewform" class="content-li" data-v-71c8bf41>Help &amp; Suggestion</a><a href="/business" rel="nofollow" class="content-li" data-v-71c8bf41>Business</a></li><li class="item" data-v-71c8bf41><div class="title" data-v-71c8bf41>Resources</div><a href="/download_apps" rel="nofollow" class="content-li" data-v-71c8bf41>Download Apps</a><a href="/writer_benefit" rel="nofollow" class="content-li" data-v-71c8bf41>Writer Benefit</a><a href="/helpCenter" rel="nofollow" class="content-li" data-v-71c8bf41>Content policy</a><a href="/tags/all" class="content-li" data-v-71c8bf41>Keywords</a><a href="/hot-searches/all" class="content-li" data-v-71c8bf41>Hot Searches</a><a href="/resources" class="content-li" data-v-71c8bf41>Book Review</a><a href="/fanfiction" class="content-li" data-v-71c8bf41>FanFiction</a><a href="/qa" style="display:none;" data-v-71c8bf41>FAQ</a><a href="/qa/id" style="display:none;" data-v-71c8bf41>FAQ-ID</a><a href="/qa/fil" style="display:none;" data-v-71c8bf41>FAQ-FIL</a><a href="/qa/th" style="display:none;" data-v-71c8bf41>FAQ-TH</a><a href="/qa/ja" style="display:none;" data-v-71c8bf41>FAQ-JA</a><a href="/qa/ar" style="display:none;" data-v-71c8bf41>FAQ-AR</a><a href="/qa/es" style="display:none;" data-v-71c8bf41>FAQ-ES</a><a href="/qa/ko" style="display:none;" data-v-71c8bf41>FAQ-KO</a><a href="/qa/de" style="display:none;" data-v-71c8bf41>FAQ-DE</a><a href="/qa/fr" style="display:none;" data-v-71c8bf41>FAQ-FR</a><a href="/qa/pt" style="display:none;" data-v-71c8bf41>FAQ-PT</a><a href="/goodnovel-vs-competitors" style="display:none;" data-v-71c8bf41>GoodNovel vs Competitors</a></li><li class="item" data-v-71c8bf41><div class="title" data-v-71c8bf41>Community</div><a target="_blank" rel="nofollow" href="https://www.facebook.com/groups/GoodNovels/" class="content-li" data-v-71c8bf41>Facebook Group</a><div class="title" data-v-71c8bf41>Download</div><div class="download download-apple" data-v-71c8bf41></div><div class="download download-google" data-v-71c8bf41></div></li></ul><!----></footer><!----></div><div class="download" data-v-1e4f73b2><div class="download-logo" data-v-1e4f73b2><div class="download-logo-border" data-v-1e4f73b2></div><div class="download-logo-cover" data-v-1e4f73b2></div><div class="download-logo-img" data-v-1e4f73b2></div></div><div class="qr-code-wrap" style="width:80px;height:80px;" data-v-9c5e2524 data-v-1e4f73b2><div value="" level="L" background="#fff" foreground="#000" class="qr-code" data-v-9c5e2524><canvas height="80" width="80" style="width:80px;height:80px;"></canvas></div><!----></div><span data-v-1e4f73b2>SCAN CODE TO READ ON APP</span></div></div><!----><div style="text-align: center; position: fixed; opacity: 0; z-index: -1; left: -9999em;"><a href="//www.dmca.com/Protection/Status.aspx?ID=0dcec714-6f50-4fa3-adf7-6aacf8fb29e3" title="DMCA.com Protection Status" class="dmca-badge"><img src="https://images.dmca.com/Badges/_dmca_premi_badge_4.png?ID=0dcec714-6f50-4fa3-adf7-6aacf8fb29e3" alt="DMCA.com Protection Status"></a></div></div><script>window.__INITIAL_STATE__={"source":{"token":{"promise":{}}},"redirectObj":{"status":false,"url":""},"bookLangKey":null,"skeletonLoading":false,"NotFound404Staus":false,"NotFound410Staus":false,"isSpider":false,"apiStatus":0,"gbotI":{},"moduleCommon":{"loading":true},"moduleRead":{"opeationIndex":-1,"bgColor":0,"fontSize":20,"currentChapterId":"","currentChapterName":""},"moduleHome":{"hasViolation":false,"language":"en","userInfo":{},"isShowLogin":false,"currentPath":"\u002F","addCurrentBookInfo":{},"callBackObj":false,"bookAuthStatus":true},"moduleSearch":{"topList":[],"bottomList":[],"keyword":"","pageSize":20,"pageNo":1,"totals":1,"books":[],"allBookCount":0,"isNull":false,"keywordFormat":null,"searchKeyword":null,"recommend":{"hotWords":[],"recommendInfo":{"recommendBooks":[]}}},"moduleUserCenter":{"incomeList":[],"workDataList":[],"attendanceBonus":0,"incomeGeneralData":{},"menuStatus":1},"HomeDataModule":{"canonicalPline":-1,"bookInfoStatus":0,"bookInfo":{},"recommendBook":false,"originalBooks":[],"fafictionTitle":"","maylikelist":{"name":"You may also like","items":[]},"relatedNovels":{"name":"","items":[]},"newReleaseNovels":{"name":"","items":[]},"eroticNovels":{"name":"","items":[]},"packNum":0,"matePseudonym":false,"mockOffShelfFalg":false,"alphalist":{"name":"Myths from Alpha and Luna","items":[],"isAlpha":true},"bookList":[],"books":[],"tabs":[],"totals":1,"moreBooks":[],"moreName":"","allBookCount":0,"latestUpdateList":[],"recommendChapterList":[],"adultTagRecommends":[],"seoRecommends":[],"seoReadersTdk":{},"seoResourcesList":[],"seo404Vo":{},"ssrComment":{"pageNo":1,"totals":1,"level":1,"allComments":0,"commentList":[],"currentCommentInfo":[]},"bookRatingsStatics":null,"isOffShelf":false},"moduleHub":{"keyword":"","pageSize":4,"pageNo":1,"totals":10,"books":[],"allBookCount":200,"isNull":false},"HubDataModule":{"totals":0,"books":[],"hubInfo":{"seoDesc":"","seoKeywords":"","seoTitle":""},"pageNo":1,"initLoad":false},"HomeCategoryModule":{"bookTypes":[],"totals":10,"books":[],"currentIndex":""},"ContestDataModule":{"rankBooks":[],"activityId":"","initLoad":false,"errStatus":""},"FreeZone":{"cates":[],"cateLang":"","pageNo":1,"pageSize":15,"totals":0,"filterIndex":0,"contentTypeIndex":0,"chaptersIndex":0,"bookList":[],"filter":[{"key":"1","name":"Updated"},{"key":"2","name":"New Online"}],"contentType":[{"key":null,"name":"All"},{"key":"ORIGINAL","name":"Original"},{"key":"ALTERNATE","name":"FanFiction"}],"chapters":[{"key":null,"name":"All"},{"key":"LESS30","name":"\u003C30"},{"key":"BETWEEN30_100","name":"30-100"},{"key":"BETWEEN100_200","name":"100-200"},{"key":"BETWEEN200_500","name":"200-500"},{"key":"MORE500","name":"\u003E500"}]},"AlphaDataModule":{"rankBooks":[],"activityId":"","login":false,"mateShareInfo":{},"packShareInfo":{},"initLoad":false,"errStatus":"","totalViewCount":0},"UcModule":{"bookId":null,"lang":"","bookList":[]},"Catalog":{"catalogs":[],"pageSize":10,"totalPage":0,"pageNo":0,"total":0},"Browse":{"bookTypes":[],"shortBookTypes":[],"bookTypesNav":[{"id":11,"language":"ENGLISH","desc":"Romance","genreResourceUrl":"Romance-novels","lengthType":1},{"id":16,"language":"ENGLISH","desc":"Werewolf","genreResourceUrl":"Werewolf-novels","lengthType":1},{"id":7,"language":"ENGLISH","desc":"Mafia","genreResourceUrl":"Mafia-novels","lengthType":1},{"id":13,"language":"ENGLISH","desc":"System","genreResourceUrl":"System-novels","lengthType":1},{"id":3,"language":"ENGLISH","desc":"Fantasy","genreResourceUrl":"Fantasy-novels","lengthType":1},{"id":14,"language":"ENGLISH","desc":"Urban","genreResourceUrl":"Urban-novels","lengthType":1},{"id":6,"language":"ENGLISH","desc":"LGBTQ+","genreResourceUrl":"LGBTQ-novels","lengthType":1},{"id":17,"language":"ENGLISH","desc":"YA\u002FTEEN","genreResourceUrl":"YA-TEEN-novels","lengthType":1},{"id":10,"language":"ENGLISH","desc":"Paranormal","genreResourceUrl":"Paranormal-novels","lengthType":1},{"id":9,"language":"ENGLISH","desc":"Mystery\u002FThriller","genreResourceUrl":"Mystery-Thriller-novels","lengthType":1},{"id":2,"language":"ENGLISH","desc":"Eastern","genreResourceUrl":"Eastern-novels","lengthType":1},{"id":4,"language":"ENGLISH","desc":"Games","genreResourceUrl":"Games-novels","lengthType":1},{"id":5,"language":"ENGLISH","desc":"History","genreResourceUrl":"History-novels","lengthType":1},{"id":8,"language":"ENGLISH","desc":"MM Romance","genreResourceUrl":"MM-Romance-novels","lengthType":1},{"id":12,"language":"ENGLISH","desc":"Sci-Fi","genreResourceUrl":"Sci-Fi-novels","lengthType":1},{"id":15,"language":"ENGLISH","desc":"War","genreResourceUrl":"War-novels","lengthType":1},{"id":18,"language":"ENGLISH","desc":"Other","genreResourceUrl":"Other-novels","lengthType":1}],"shortBookTypesNav":[{"id":47,"language":"ENGLISH","desc":"Romance","genreResourceUrl":"Romance-short-novels","lengthType":2},{"id":52,"language":"ENGLISH","desc":"Emotional Realism","genreResourceUrl":"Emotional-Realism-short-novels","lengthType":2},{"id":53,"language":"ENGLISH","desc":"Werewolf","genreResourceUrl":"Werewolf-short-novels","lengthType":2},{"id":71,"language":"ENGLISH","desc":"Mafia","remark":"黑手党","genreResourceUrl":"Mafia-short-novels","lengthType":2},{"id":151,"language":"ENGLISH","desc":"MM Romance","genreResourceUrl":"MM-Romance-short-novels","lengthType":2},{"id":152,"language":"ENGLISH","desc":"Vampire","genreResourceUrl":"Vampire-short-novels","lengthType":2},{"id":164,"language":"ENGLISH","desc":"Mythology","remark":"Mythology","genreResourceUrl":"Mythology-short-novels","lengthType":2},{"id":173,"language":"ENGLISH","desc":"Fantasy","genreResourceUrl":"Fantasy-short-novels","lengthType":2},{"id":48,"language":"ENGLISH","desc":"Campus","genreResourceUrl":"Campus-short-novels","lengthType":2},{"id":50,"language":"ENGLISH","desc":"Imagination","genreResourceUrl":"Imagination-short-novels","lengthType":2},{"id":51,"language":"ENGLISH","desc":"Rebirth","genreResourceUrl":"Rebirth-short-novels","lengthType":2},{"id":65,"language":"ENGLISH","desc":"Steamy","genreResourceUrl":"Steamy-short-novels","lengthType":2},{"id":49,"language":"ENGLISH","desc":"Mystery\u002FThriller","genreResourceUrl":"Mystery-Thriller-short-novels","lengthType":2},{"id":67,"language":"ENGLISH","desc":"Folklore Mystery","genreResourceUrl":"Folklore-Mystery-short-novels","lengthType":2},{"id":150,"language":"ENGLISH","desc":"Male POV","remark":"男视角","genreResourceUrl":"Male-POV-short-novels","lengthType":2}],"typeTwoId":"","pageNo":1,"pageSize":20,"bookWords":"ALL","popular":"POPULAR","browsePath":"","bookList":[],"totalPage":0,"total":0,"typeTwoInfo":{},"typeTwoResourceUrl":null,"browseLangKey":null,"bookTypeTwo":{},"typeNewBookList":[],"typeRecommendBookList":[],"hotSearchesList":[],"tagList":[]},"bookCapter":{"chapterData":{},"chapterStatus":0,"comentList":[],"chapterTotalComments":0,"seo404Vo":{}},"tagBook":{"tag":{},"activeTab":"A","menus":[],"searchTag":"","filterBy":"","sortBy":"","pageNo":1,"pageSize":10,"totalPage":0,"total":0,"bookList":[],"writeStatus":"","order":"","des":"","hotKeyWords":[],"tagCatePageNo":1,"tagCatePages":0,"tagAllPages":0,"tagCateList":[],"nativeTag":"","topRelatedList":[],"bottomBookRelatedList":[],"bottomTagRelatedList":[],"keywordType":"","typeNewBookList":[],"typeRecommendBookList":[],"canonicalTagUrl":"","interpretation":"","bottomFaqQaList":[]},"RscModule":{"rscInfo":{},"articleInfo":{},"tagInfo":{"list":[],"banner":[],"total":0,"pages":0,"pageNo":0},"categoryInfo":{"list":[],"banner":[],"total":0,"pages":0,"pageNo":0},"bannerList":[],"newList":[],"typeList":[],"moreTypeList":[],"languageList":[],"resourceTypeArticles":[],"resourceTypeArticlesPage":0,"resourceTypeArticlesPageTotal":0,"resourceTypeInfo":{},"resourceTypeOtherTypes":[],"typeRouteParam":"","isLanguage":false,"resourceTagArticles":[],"resourceTagArticlesPage":0,"resourceTagArticlesPageTotal":0,"resourceTagInfo":{},"resourceTagRecormmendActicles":[],"resourceTagHotTags":[],"categoryRecommendList":[]},"FanModule":{"rscInfo":{},"articleInfo":{},"tagInfo":{"list":[],"banner":[],"total":0,"pages":0,"pageNo":0},"categoryInfo":{"list":[],"banner":[],"total":0,"pages":0,"pageNo":0},"bannerList":[],"newList":[],"typeList":[],"moreTypeList":[],"languageList":[],"resourceTypeArticles":[],"resourceTypeArticlesPage":0,"resourceTypeArticlesPageTotal":0,"resourceTypeInfo":{},"resourceTypeOtherTypes":[],"typeRouteParam":"","isLanguage":false,"resourceTagArticles":[],"resourceTagArticlesPage":0,"resourceTagArticlesPageTotal":0,"resourceTagInfo":{},"tagGroupList":[],"resourceTagRecormmendActicles":[],"resourceTagHotTags":[]},"hotSearches":{"tag":{},"activeTab":"A","menus":[],"searchTag":"","filterBy":"","sortBy":"","pageNo":1,"pageSize":10,"totalPage":0,"total":0,"bookList":[],"writeStatus":"","order":"","des":"","hotKeyWords":[],"tagCatePageNo":1,"tagCatePages":0,"tagAllPages":0,"tagCateList":[],"nativeTag":""},"Author":{"author":{},"bookList":{"records":[],"total":0},"recommendBookList":[],"notFound":false},"Qa":{"qaList":[],"popularList":[{"id":4257400,"question":"How Does An Elven Princess Balance Love And Duty In Fantasy Romance?","keyword":"elven princess","questionFormat":"elven-princess-balance-love-duty-fantasy-romance","publishTime":"2026-07-09 01:09:48","language":"ENGLISH","answerNum":3,"viewCount":251,"ctime":"2026-06-25 12:42:06","utime":"2026-07-16 08:11:00","followCountDisplay":"0","viewCountDisplay":"251"},{"id":4282054,"question":"Where Can I Download Sinners Consumed PDF Safely?","keyword":"sinners consumed pdf","questionFormat":"download-sinners-consumed-pdf-safely","publishTime":"2026-07-09 06:47:50","language":"ENGLISH","answerNum":4,"viewCount":109,"ctime":"2026-06-26 06:10:35","utime":"2026-07-16 08:11:08","followCountDisplay":"0","viewCountDisplay":"109"},{"id":4283197,"question":"How Do Fans Debate Fairy Tail Erza Seduction Armor In Cosplay Communities?","keyword":"fairy tail erza seduction armor","questionFormat":"fans-debate-fairy-tail-erza-seduction-armor-cosplay-communities","publishTime":"2026-07-09 05:06:30","language":"ENGLISH","answerNum":5,"viewCount":248,"ctime":"2026-06-26 06:10:46","utime":"2026-07-16 16:11:09","followCountDisplay":"0","viewCountDisplay":"248"},{"id":4257276,"question":"Which Platforms Host The Best Futa On Male Fanfic Collections?","keyword":"futa on male fanfic","questionFormat":"platforms-host-best-futa-male-fanfic-collections","publishTime":"2026-07-09 02:37:32","language":"ENGLISH","answerNum":1,"viewCount":190,"ctime":"2026-06-25 12:41:43","utime":"2026-07-16 06:11:00","followCountDisplay":"0","viewCountDisplay":"190"},{"id":4283009,"question":"Are There Any Major Plot Twists In Dungeon Academy Series?","keyword":"dungeon academy series","questionFormat":"major-plot-twists-dungeon-academy-series","publishTime":"2026-07-09 03:14:36","language":"ENGLISH","answerNum":2,"viewCount":213,"ctime":"2026-06-26 06:10:44","utime":"2026-07-16 14:11:08","followCountDisplay":"0","viewCountDisplay":"213"},{"id":4283077,"question":"Which Dystopian Romance Novels Feature Forbidden Love Against The System?","keyword":"dystopian romance novels","questionFormat":"dystopian-romance-novels-feature-forbidden-love-system","publishTime":"2026-07-09 06:03:12","language":"ENGLISH","answerNum":4,"viewCount":285,"ctime":"2026-06-26 06:10:45","utime":"2026-07-16 16:11:09","followCountDisplay":"0","viewCountDisplay":"285"},{"id":4281704,"question":"Which Apps Let Me Read Romance Books For Free Without Ads?","keyword":"read romance books for free","questionFormat":"apps-let-read-romance-books-free-without-ads","publishTime":"2026-07-09 04:09:50","language":"ENGLISH","answerNum":2,"viewCount":97,"ctime":"2026-06-26 06:10:32","utime":"2026-07-16 04:11:08","followCountDisplay":"0","viewCountDisplay":"97"},{"id":4281204,"question":"How Does The Novel The Devil Judge Explore Justice Themes?","keyword":"novel the devil judge","questionFormat":"novel-devil-judge-explore-justice-themes","publishTime":"2026-07-09 03:24:39","language":"ENGLISH","answerNum":2,"viewCount":49,"ctime":"2026-06-26 06:10:28","utime":"2026-07-16 00:11:09","followCountDisplay":"0","viewCountDisplay":"49"},{"id":4257172,"question":"What Emotional Conflicts Drive Halsin X Astarion Fanfic Storylines?","keyword":"halsin x astarion","questionFormat":"emotional-conflicts-drive-halsin-x-astarion-fanfic-storylines","publishTime":"2026-07-09 04:41:56","language":"ENGLISH","answerNum":1,"viewCount":176,"ctime":"2026-06-25 12:41:23","utime":"2026-07-16 02:11:00","followCountDisplay":"0","viewCountDisplay":"176"},{"id":4282510,"question":"Are There Book Series Like Fifty Shades Of Grey With Similar Erotic Themes?","keyword":"book series like fifty shades of grey","questionFormat":"book-series-like-fifty-shades-grey-similar-erotic-themes","publishTime":"2026-07-09 05:19:13","language":"ENGLISH","answerNum":2,"viewCount":276,"ctime":"2026-06-26 06:10:40","utime":"2026-07-16 10:11:09","followCountDisplay":"0","viewCountDisplay":"276"}],"total":0,"questionDetail":{"id":351308,"question":"How Can I View Metadata Of Pdf In Python With PyPDF2?","keyword":"view metadata of pdf","questionFormat":"view-metadata-pdf-python-pypdf2","publishTime":"2025-09-02 01:20:04","language":"ENGLISH","viewCount":423,"followCount":30,"ctime":"2025-09-06 11:05:30","utime":"2026-07-13 19:12:34","secondCategoryId":282,"userName":"Geo","userAvatar":"https:\u002F\u002Facf.goodnovel.com\u002Fseo\u002Fvirtual_user\u002Fenglish\u002F2b2d408efcd86766f1f2a1a0bc0b698054caadbb7e42dfe9a91052bfaec09ad2fd9d447da6068a274e8c5756b1911711.png?v=1&p=1","questionCredibilityTags":"Follower","userOccupationLabel":"Firefighter","answerList":[{"id":1091108,"questionId":351308,"userName":"Zander","userAvatar":"https:\u002F\u002Facf.goodnovel.com\u002Fseo\u002Fvirtual_user\u002Fenglish\u002F9ae99a9e1b61e8a447fce7f1d9b192f3e17391b5ab2f019cea29008cee1d0db492ae87bb4bdd8dd0241c5e86f2abf7ec.png?v=1&p=1","content":"Quick and practical — when I need to view metadata fast I do the minimal thing and keep it friendly. Open your PDF in binary mode, use PdfReader (or PdfFileReader if you have an older install), check reader.is_encrypted and decrypt if needed, then print reader.metadata. Example:\u003Cbr\u003E\u003Cbr\u003Efrom PyPDF2 import PdfReader\u003Cbr\u003Ereader = PdfReader('sample.pdf')\u003Cbr\u003Eprint(reader.metadata)\u003Cbr\u003E\u003Cbr\u003ECommon pitfalls: metadata can be None, keys are often prefixed with a '\u002F', and CreationDate strings may be in PDF-specific format. If you just need a human-readable dump, convert the mapping to plain strings and strip leading slashes. Also peek at reader.num_pages if you're cataloging files — metadata plus page count is a great start for organizing a small library.","ctime":"2025-09-03 14:00:21","utime":"2026-07-13 11:28:54","answerCredibilityTags":"Book Clue Finder","userOccupationLabel":"Engineer","hitQATagObj":{},"praiseCount":30,"stepOnCount":0,"favoriteBookName":"Bound by paper ","favoriteBookResourceUrl":"Bound-by-paper_31001315858"},{"id":1091107,"questionId":351308,"userName":"Leah","userAvatar":"https:\u002F\u002Facf.goodnovel.com\u002Fseo\u002Fvirtual_user\u002Fenglish\u002Fad08196eada70427c939bed5697cecc49deca6b9421aaa68fedf0fba02d5cdfc67ec2aa345ee3cb86528c9c65e135d1e.png?v=1&p=1","content":"I tend to experiment a lot and I made a small utility function that not only reads metadata via PyPDF2 but also normalizes date strings into datetime objects. The annoying part is that PDF dates are often in the format \"D:YYYYMMDDHHmmSSOHH'mm'\" and need parsing. Example flow I follow:\u003Cbr\u003E\u003Cbr\u003E- Open file using PdfReader (or PdfFileReader on old versions).\u003Cbr\u003E- Decrypt if necessary.\u003Cbr\u003E- Read reader.metadata and convert keys like '\u002FCreationDate' to 'CreationDate'.\u003Cbr\u003E- Try parsing CreationDate and ModDate to datetime, fallback to the raw string.\u003Cbr\u003E\u003Cbr\u003EA condensed code sketch:\u003Cbr\u003E\u003Cbr\u003Efrom PyPDF2 import PdfReader\u003Cbr\u003Eimport re\u003Cbr\u003Efrom datetime import datetime\u003Cbr\u003E\u003Cbr\u003Edef parse_pdf_date(s):\u003Cbr\u003E if not s: return None\u003Cbr\u003E m = re.match(r\"D:(\\d{4})(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?\", s)\u003Cbr\u003E if not m: return s\u003Cbr\u003E parts = [int(p) if p else 0 for p in m.groups()]\u003Cbr\u003E return datetime(parts[0], max(1, parts[1] or 1), max(1, parts[2] or 1), parts[3], parts[4], parts[5])\u003Cbr\u003E\u003Cbr\u003Ereader = PdfReader('file.pdf')\u003Cbr\u003Emeta = reader.metadata or {}\u003Cbr\u003Eclean = {k.lstrip('\u002F'): (parse_pdf_date(v) if 'Date' in k else v) for k, v in meta.items()}\u003Cbr\u003Eprint(clean)\u003Cbr\u003E\u003Cbr\u003EI enjoy doing this because it turns raw garbage into something I can sort\u002Ffilter in a folder of PDFs. If you want, I can show how to export these into CSV or add a GUI to browse them.","ctime":"2025-09-04 12:06:44","utime":"2026-07-13 11:28:54","answerCredibilityTags":"Detail Spotter","userOccupationLabel":"Nurse","hitQATagObj":{},"praiseCount":30,"stepOnCount":0,"favoriteBookName":"The Fate Of The Cursed Omega [BL].","favoriteBookResourceUrl":"The-Fate-Of-The-Cursed-Omega-BL_31001500833"},{"id":1091106,"questionId":351308,"userName":"Oliver","userAvatar":"https:\u002F\u002Facf.goodnovel.com\u002Fseo\u002Fvirtual_user\u002Fenglish\u002F0319748a2ab16ec89109cf318b2c59d6edc643bf07458d794232d6387b5241ffe9f672250f95da3351dc2d8b086b56e3.png?v=1&p=1","content":"I like keeping things compact when I'm troubleshooting — here's a slightly different way I go about it. First, install or update PyPDF2 (pip install PyPDF2). Then use the legacy-style call if you happen to have an older release:\u003Cbr\u003E\u003Cbr\u003Efrom PyPDF2 import PdfFileReader\u003Cbr\u003Ewith open('document.pdf', 'rb') as f:\u003Cbr\u003E reader = PdfFileReader(f)\u003Cbr\u003E if reader.isEncrypted:\u003Cbr\u003E reader.decrypt('')\u003Cbr\u003E info = reader.getDocumentInfo()\u003Cbr\u003E\u003Cbr\u003EgetDocumentInfo() returns a DocumentInformation object where keys are '\u002FTitle', '\u002FAuthor', etc. I usually convert it to a normal dict with something like: metadata = {k[1:]: v for k, v in info.items()} to drop the leading slash for easier printing. Watch out: some PDFs only embed a creation or modification date and nothing else, and encrypted files will block metadata access until decrypted.\u003Cbr\u003E\u003Cbr\u003EOccasionally I prefer calling external tools like 'pdfinfo' when PyPDF2 seems to miss embedded XMP metadata, but for most quick inspections PyPDF2 does the job perfectly. If you need to mutate metadata, PyPDF2 also supports updating it via PdfWriter, but that's a different little dance.","ctime":"2025-09-04 22:19:11","utime":"2026-07-13 11:28:54","answerCredibilityTags":"Plot Detective","userOccupationLabel":"Nurse","hitQATagObj":{},"praiseCount":21,"stepOnCount":0,"favoriteBookName":"Loved (Book #2 in the Vampire Journals)","favoriteBookResourceUrl":"Loved-Book-2-in-the-Vampire-Journals_31000456648"},{"id":1091105,"questionId":351308,"userName":"Quinn","userAvatar":"https:\u002F\u002Facf.goodnovel.com\u002Fseo\u002Fvirtual_user\u002Fenglish\u002F57ff34a9d625b4bdcfd8978cd7bbf56c1259780f4851045a793e58cac71d3c0123a91bd1559b84971d52f045bb472bf5.png?v=1&p=1","content":"Oh, I love digging into little file mysteries — PDFs are no exception. If you just want to peek at metadata with PyPDF2, the modern, straightforward route is to use PdfReader and inspect the .metadata attribute. Here's the tiny script I usually toss into a REPL or a small utility file:\u003Cbr\u003E\u003Cbr\u003Efrom PyPDF2 import PdfReader\u003Cbr\u003E\u003Cbr\u003Ereader = PdfReader('example.pdf')\u003Cbr\u003Eif reader.is_encrypted:\u003Cbr\u003E try:\u003Cbr\u003E reader.decrypt('') # try empty password\u003Cbr\u003E except Exception:\u003Cbr\u003E raise RuntimeError('PDF is encrypted and requires a password')\u003Cbr\u003E\u003Cbr\u003Emeta = reader.metadata # returns a dictionary-like object\u003Cbr\u003Eprint(meta)\u003Cbr\u003E\u003Cbr\u003EThat .metadata often contains keys like '\u002FTitle', '\u002FAuthor', '\u002FCreator', '\u002FProducer', '\u002FCreationDate' and '\u002FModDate'. Sometimes it's None or sparse — many PDFs don't bother to set all fields. I also keep a tiny helper to normalize keys and parse the odd CreationDate format (it looks like \"D:20201231235959Z00'00'\") into a Python datetime when I need to display a friendlier timestamp. If you're on an older PyPDF2 version you'll see PdfFileReader and reader.getDocumentInfo() instead; the idea is the same.\u003Cbr\u003E\u003Cbr\u003EIf you want pretty output, convert meta to a plain dict and iterate key\u002Fvalue pairs, or write them to JSON after sanitizing dates. It’s a tiny ritual I enjoy before archivism or just poking through downloaded manuals.","ctime":"2025-09-07 11:37:59","utime":"2026-07-13 11:28:54","answerCredibilityTags":"Responder","userOccupationLabel":"Mechanic","hitQATagObj":{},"praiseCount":4,"stepOnCount":0,"favoriteBookName":"“Marked as Property, Stolen by the Alpha”","favoriteBookResourceUrl":"Marked-as-Property-Stolen-by-the-Alpha_31001372849"}],"followCountDisplay":"30","viewCountDisplay":"423"},"relatedQuestion":[{"question":"How to extract text from a pdf using python?","questionFormat":"extract-text-pdf-using-python","publishTime":"2025-07-10 19:52:33","language":"ENGLISH","answerNum":3,"firstAnswer":"I've been tinkering with Python for a while now, and extracting text from PDFs is something I do often for my personal projects. The simplest way I found is using the 'PyPDF2' library. You start by installing it with pip, then import the PdfReader class. Open the PDF file in binary mode, create a PdfReader object, and loop through the pages to extract text. It works well for most standard PDFs, though sometimes the formatting can be a bit messy. For more complex PDFs, especially those with images or non-standard fonts, I switch to 'pdfplumber', which gives cleaner results but is a bit slower. Both methods are straightforward and don't require much code, making them great for beginners.","ctime":"2025-07-10 06:50:19","followCountDisplay":"0","viewCountDisplay":"0"},{"question":"How to edit normal pdf metadata with python script?","questionFormat":"edit-normal-pdf-metadata-python-script","publishTime":"2025-07-04 11:38:08","language":"ENGLISH","answerNum":4,"firstAnswer":"Editing PDF metadata with Python is surprisingly straightforward once you get the hang of it. I've tinkered with this quite a bit for organizing my digital library, and the 'PyPDF2' library is my go-to tool. After installing it via pip, you can easily open a PDF, access its metadata like title, author, or keywords, and modify them as needed. The process involves creating a PdfFileReader object, updating the metadata dictionary, and then writing it back using PdfFileWriter.\n\nOne thing to watch out for is that some PDFs might have restricted editing permissions, so you might need additional tools like 'pdfrw' or 'pdfminer' for more complex cases. I also recommend checking out 'ReportLab' if you need to create PDFs from scratch with custom metadata. Always make sure to work on a copy of your file first, just in case something goes wrong. The Python community has tons of open-source examples on GitHub if you need inspiration for more advanced scripting.","ctime":"2025-07-05 09:50:05","followCountDisplay":"0","viewCountDisplay":"0"},{"question":"How do I view metadata of pdf files on Windows 10?","questionFormat":"view-metadata-pdf-files-windows-10","publishTime":"2025-09-02 11:26:25","language":"ENGLISH","answerNum":4,"firstAnswer":"Okay, here’s the friendly walkthrough I’d give a pal who just asked this over coffee.\n\nOn Windows 10, the simplest place to start is File Explorer: right‑click the PDF, pick 'Properties', then open the 'Details' tab. You’ll see basic fields like Title, Author, and sometimes Keywords — but Windows only shows what the file embeds in standard metadata fields, so a lot of PDFs look blank here even if they contain extra info.\n\nIf you want the metadata that most PDF readers expose, open the file in 'Adobe Acrobat Reader DC' (or 'PDF-XChange Editor', or 'SumatraPDF') and press Ctrl+D or go to File → Properties. That view tends to show more PDF-specific fields (like Producer, PDF version, and custom XMP data). For power users who need everything, I use 'ExifTool' (free): exiftool file.pdf shows all embedded metadata. It’s faster for batches: exiftool *.pdf dumps metadata for every file in a folder. Try a couple of these depending on how deep you need to go — and if you’re prepping files to share, remember to scrub metadata first if privacy matters.","ctime":"2025-09-06 11:05:30","followCountDisplay":"0","viewCountDisplay":"0"},{"question":"How can I view metadata of pdf using Adobe Acrobat?","questionFormat":"view-metadata-pdf-using-adobe-acrobat","publishTime":"2025-09-02 15:38:00","language":"ENGLISH","answerNum":4,"firstAnswer":"Okay, here’s a friendly walkthrough that I actually use when poking around PDFs: open the PDF in Adobe Acrobat (Reader or Pro), then press Ctrl+D (Cmd+D on a Mac) to pop up the Document Properties window. The Description tab is the quick view — Title, Author, Subject, and Keywords live there. If you want more, click the 'Additional Metadata' button in that window; that opens the XMP metadata viewer where you can see deeper fields like PDF producer, creation and modification timestamps, and any custom namespaces embedded by other apps.\n\nIf you have Acrobat Pro, I go further: Tools \u003E Protect & Standardize \u003E Remove Hidden Information (or search for 'Remove Hidden Information' in Tools). That previews hidden metadata, attached data, and comments that ordinary users might miss. For structural or compliance checks I open Tools \u003E Print Production \u003E Preflight to inspect PDF\u002FA, PDF\u002FX, font embedding, and more. Small tip: editing the basic fields is done right in Document Properties (change Title\u002FAuthor\u002FKeywords), but for full cleanup or forensic detail, Preflight and Remove Hidden Information are where I live — they surface the stuff regular viewers won't show.","ctime":"2025-09-06 11:05:30","followCountDisplay":"0","viewCountDisplay":"0"},{"question":"How can I view metadata of pdf without installing software?","questionFormat":"view-metadata-pdf-without-installing-software","publishTime":"2025-09-02 16:25:35","language":"ENGLISH","answerNum":4,"firstAnswer":"I love poking around files, so here’s a friendly walk-through that doesn’t require installing anything new.\n\nOn Windows you can often get basic metadata without extra tools: right-click the PDF file in File Explorer, choose 'Properties' and open the 'Details' tab. You’ll see fields like Title, Author, and sometimes Creation and Modification dates. On macOS, select the file in Finder and hit 'Get Info' (or press ⌘I) for similar details. Both of these show filesystem-level and embedded metadata that many PDFs include.\n\nIf you want more embedded info, open the PDF in Firefox (its built-in viewer is great for this). Click the small 'i' icon or look for 'Document Properties' in the viewer toolbar; it exposes XMP\u002Fmetadata like Producer, Creator, and custom fields. Alternatively, you can upload to Google Drive and open the details pane — it shows upload\u002Fowner info and sometimes core metadata. Quick heads-up: I don’t like uploading personal docs to third-party sites, so for sensitive PDFs I stick to local methods like Finder\u002FFile Explorer or opening the file in a plain text editor and searching for '\u002FTitle' or '\u003Cxmp\u003E' blocks to read raw metadata. If you see XML tags, that’s the XMP packet and it’s human-readable, which I find oddly satisfying.","ctime":"2025-09-06 11:05:30","followCountDisplay":"0","viewCountDisplay":"0"},{"question":"Where can I view metadata of pdf on macOS Preview app?","questionFormat":"view-metadata-pdf-macos-preview-app","publishTime":"2025-09-02 19:02:44","language":"ENGLISH","answerNum":4,"firstAnswer":"If you've got a PDF open in Preview, the quickest way I use is Tools → Show Inspector (or press Command-I). \n\nWhen the Inspector pops up you'll usually see an 'i' tab or a 'More Info' section where Preview displays metadata like Title, Author, Subject\u002FKeywords (if the file has them), PDF producer\u002Fcreator, PDF version, page size and sometimes creation\u002Fmodification dates. If nothing shows up there, it often means the PDF simply doesn't have embedded metadata. Preview's metadata viewer is handy for a quick peek, but it's a viewer-first tool: editing fields is limited or inconsistent across macOS versions.\n\nIf you need to dig deeper or edit stuff, I switch to Finder's Get Info for basic tags, or use Terminal: mdls \u002Fpath\u002Fto\u002Ffile.pdf reveals Spotlight metadata, and 'exiftool' shows practically everything. For full edit control I go to a dedicated app like 'Adobe Acrobat' or a metadata editor. Preview's Inspector gets you most of what you need at a glance, though, and for quick checks it's my go-to.","ctime":"2025-09-06 11:05:30","followCountDisplay":"0","viewCountDisplay":"0"},{"question":"Can I view metadata of pdf from command line on Linux?","questionFormat":"view-metadata-pdf-command-line-linux","publishTime":"2025-09-02 00:27:28","language":"ENGLISH","answerNum":4,"firstAnswer":"Hey, if you like poking around files the same way I do when I'm binge-reading liner notes, Linux makes PDF metadata super accessible from the command line.\n\nFor a quick peek I usually start with pdfinfo (part of poppler-utils). It gives a neat summary: Title, Author, Creator, Producer, CreationDate, ModDate, Pages, PDF version, page size, and more. Example: pdfinfo 'mydoc.pdf'. If you want to filter it down: pdfinfo 'mydoc.pdf' | grep -Ei '^(Title|Author|Producer|CreationDate|Pages)'.\n\nIf you want everything — the XMP, custom metadata and more — I love exiftool (package name libimage-exiftool-perl on Debian\u002FUbuntu). exiftool -a -u -g1 'mydoc.pdf' dumps lots of readable tags organized by group. For raw XMP in case you want to copy-paste XML, strings 'mydoc.pdf' | sed -n '\u002F\u003Cx:xmpmeta\u003E\u002F,\u002F\u003C\\\u002Fx:xmpmeta\u003E\u002Fp' can pull out the chunk (works for many PDFs but not guaranteed for all).\n\nOther useful tools: pdftk 'mydoc.pdf' dump_data prints InfoKey\u002FInfoValue pairs and is handy for scripts, and mutool (from mupdf) or qpdf can inspect internals or check encryption. If a file is password-protected you can often pass the password (pdfinfo has -upw\u002F-opw). I often combine these in small scripts to audit batches of PDFs — it’s oddly satisfying. Play around and you’ll find the combo that fits your workflow best.","ctime":"2025-09-06 11:05:30","followCountDisplay":"0","viewCountDisplay":"0"},{"question":"How can I view metadata of pdf created by Microsoft Word?","questionFormat":"view-metadata-pdf-created-microsoft-word","publishTime":"2025-09-02 21:10:50","language":"ENGLISH","answerNum":4,"firstAnswer":"Oh, this one makes me nerdy-happy — I check PDF metadata all the time when I’m cleaning documents before sending them out.\n\nIf you’re still in Word, the easiest place to start is File → Info. You’ll see basic properties like Author and Title there; click Properties → Advanced Properties to edit Summary, Statistics, and any Custom fields. When you Save As PDF, click Options in the Save dialog and make sure document properties are preserved or removed depending on your goal. After the PDF exists, open it in a PDF reader — in 'Adobe Acrobat Reader' go to File → Properties (or press Ctrl+D) to view Description (Title, Author, Subject, Keywords), Custom metadata, and the PDF producer and creation\u002Fmodification times.\n\nIf you want forensic-level detail, use tools like exiftool (exiftool myfile.pdf) or Poppler’s pdfinfo (pdfinfo myfile.pdf) on the command line; they dump XMP and embedded metadata. Also double-check Windows File Explorer (right-click → Properties → Details) or macOS Finder (Get Info) for quick looks. If privacy is the issue, run Word’s Document Inspector (File → Info → Check for Issues → Inspect Document) before exporting or use Acrobat’s Remove Hidden Information \u002F Sanitize features. Personally, I run exiftool as a final check because it reveals everything including odd custom properties that Word sometimes tucks away.","ctime":"2025-09-06 11:05:30","followCountDisplay":"0","viewCountDisplay":"0"},{"question":"How can I view metadata of pdf and remove sensitive info?","questionFormat":"view-metadata-pdf-remove-sensitive-info","publishTime":"2025-09-02 00:44:29","language":"ENGLISH","answerNum":4,"firstAnswer":"Okay, let me walk you through this like I’m chatting over coffee — metadata in PDFs hides in more places than you’d think, and removing it cleanly takes a couple of different moves.\n\nFirst, inspect. I usually run simple tools to see what’s actually inside: open the PDF’s Properties in a viewer (File \u003E Properties), run pdfinfo (poppler) or exiftool to get a full readout (exiftool file.pdf), and also search the raw file for XML XMP packets (open in a text editor and look for '\u003Cx:xmpmeta' or '\u002FMetadata'). Those tell you about the Info dictionary (Title, Author, CreationDate) and any XMP metadata. Don’t forget attachments, embedded fonts, or hidden form data — these won’t always show in basic viewers.\n\nNext, remove. If I’m on a machine with ExifTool, I run: exiftool -all= -overwrite_original file.pdf which nukes most metadata fields (ExifTool often makes a backup unless you use -overwrite_original). For a GUI I’ll use a proper PDF editor: in Acrobat Pro use Tools \u003E Redact \u003E Remove Hidden Information or Tools \u003E Sanitize Document (that removes XMP, hidden layers, comments, metadata and more). As a safety habit I always create a copy, check again with exiftool\u002Fpdfinfo, and scan the new file for any leftover strings of sensitive text. And I avoid online uploaders for sensitive docs unless I’m sure they’re trustworthy.","ctime":"2025-09-06 11:05:30","followCountDisplay":"0","viewCountDisplay":"0"},{"question":"Which tools let me view metadata of pdf for free online?","questionFormat":"tools-let-view-metadata-pdf-free-online","publishTime":"2025-09-02 21:24:33","language":"ENGLISH","answerNum":4,"firstAnswer":"I've been digging through PDFs for research and personal projects a lot lately, so I’ve tried a handful of free online tools that actually show PDF metadata without too much fuss.\n\nIf you want quick, no-install checks, I usually reach for 'Sejda' or 'PDFCandy' — both have a specific 'Edit metadata' or metadata viewer page where you can see title, author, subject, keywords, PDF producer, and sometimes creation\u002Fmodification dates. 'Aspose' has a neat online demo that reads metadata cleanly and even lists custom XMP fields. For a very lightweight view I sometimes drop files into 'PDF24 Tools' or peek at 'GroupDocs' demo pages, which often surface the same fields.\n\nOne caveat I always tell friends: if the document is sensitive, avoid uploading it to public sites. For privacy I fallback to a local utility like 'ExifTool' or 'PDF-XChange Editor' when I can. Otherwise, these web tools are great for quick checks, and I like that they show the common metadata fields without making me wrestle with complex menus.","ctime":"2025-09-06 11:05:30","followCountDisplay":"0","viewCountDisplay":"0"}],"relatedKeywordList":[{"id":0,"keyword":"pdf extract text python","keywordFormatFill":"pdf-extract-text-python-novel-stories","language":"ENGLISH","canonicalTagUrl":"pdf-extract-text-python-novel-stories"},{"id":0,"keyword":"extract pdf text","keywordFormatFill":"extract-pdf-text-novel-stories","language":"ENGLISH","canonicalTagUrl":"extract-pdf-text-novel-stories"},{"id":0,"keyword":"extract text from pdf document","keywordFormatFill":"extract-text-from-pdf-document-novel-stories","language":"ENGLISH","canonicalTagUrl":"extract-text-from-pdf-document-novel-stories"},{"id":0,"keyword":"change pdf metadata online","keywordFormatFill":"change-pdf-metadata-online-novel-stories","language":"ENGLISH","canonicalTagUrl":"change-pdf-metadata-online-novel-stories"}],"relatedBooks":[{"bookName":"Hidden Identity: My Demi God, the Alpha King","pseudonym":"Ommylove ","cover":"https:\u002F\u002Facf.goodnovel.com\u002Fbook\u002F202603\u002Fc10f63aacce84979f106f29638a3a55f58343c76295663da2280b1bc84a213c1.jpg?v=1&p=1","ratings":9.5,"introduction":"She was nothing… until fate chose her.\r\n\r\nElara lived as a forgotten omega, silenced and overworked in a pack that never saw her worth. But everything changed the night she crossed paths with Kael Moonthorn—the ruthless Alpha King feared across territories.\r\n\r\nA bond forms. A destiny awakens. And suddenly, the weak girl no one wanted becomes the woman everyone fears.\r\n\r\nMarked as his Luna, Elara is thrown into a world of power, blood, and ancient traditions that could either crown her… or kill her.\r\n\r\nBut enemies are rising from the shadows.\r\nBetrayal runs deeper than blood.\r\nAnd the past Kael thought was buried is clawing its way back to destroy everything.\r\n\r\nNow Elara must prove she is not just a Luna by title\r\n…but a force strong enough to stand beside a king.\r\n","chapterCount":98,"defaultChapterId":17168359,"defaultChapterName":"Chapter One: Beneath the Crown","haveSplitBook":false,"seoBookName":"Hidden Identity: My Demi God, the Alpha King","read":false,"inLibrary":false,"chapterResourceUrl":"Chapter-One-Beneath-the-Crown_17168359","bookResourceUrl":"Hidden-Identity-My-Demi-God-the-Alpha-King_31001311096","viewCountDisplay":"2.7K","lastUpdateTimeDisplay":"Completed","joinBookCurKeywordDisplay":"0","bookId":"31001311096"},{"bookName":"Naked Pages","pseudonym":"Vic To Ria ","cover":"https:\u002F\u002Facf.goodnovel.com\u002Fbook\u002F202508\u002F030a135ef112a4d0e9ea26afe8dfaa5c8feab42522ff63ec0ea901a461d02a53.jpg?v=1&p=1","ratings":10,"introduction":"\"You wanna gеt fuckеd likе a good girl?” I askеd, voicе low.\r\n\r\nShе smilеd. “I’m not a good girl.”\r\n\r\nI growlеd. “No. You’rе not.”\r\n\r\nShе gaspеd as I slammеd into hеr in onе thrust, burying mysеlf all thе way.\r\n\r\n“Damian—!”\r\n\r\nI covеrеd hеr mouth with my hand.\r\n\r\n“Bе quiеt,” I hissеd in hеr еar. “You don’t want Mommy to hеar, do you?”\r\n\r\nHеr еyеs widеnеd.\r\n\r\nI pullеd out slow—thеn slammеd back in hard.\r\n\r\nShе moanеd against my hand.\r\n\r\n“God, you’rе so tight,” I groanеd. “You wеrе madе for this cock.”\r\n\r\nHеr lеgs wrappеd around mе, pulling mе dееpеr.\r\n\r\nI prеssеd my hand hardеr against hеr mouth, muffling thе sounds of hеr criеs as I thrust into hеr again and again.\r\n\r\nThе bеd crеakеd. Hеr body shook.\r\n\r\n“Thought I wouldn’t find out you wеrе a littlе slut for mе,” I growlеd. “Kissing mе. Riding my facе. Acting so damn innocеnt.”\r\n\r\n***\r\n\r\nNaked Pages is a compilation of thrilling, heart throbbing erotica short stories that would keep you at the edge in anticipation for more.\r\n\r\nIt's loaded with forbidden romance, domineering men, naughty and sex female leads that leaves you aching for release.\r\n\r\nFrom forbidden trysts to irresistible strangers.\r\n\r\nEvery one holds desires, buried deep in the hearts to be treated like a slave or be called daddy! And in this collection, all your nasty fantasies would be unraveled.\r\n\r\nIt would be an escape to the 9th heavens while you beg and plead for more like a good girl.\r\n\r\nThis erotica compilation is overflowing with scandalous scenes ! It's intended only for adults over the age of 18! And all characters are over the age of 18.","chapterCount":130,"defaultChapterId":13914929,"defaultChapterName":"Thanksgiving Sins- 1","haveSplitBook":false,"seoBookName":"Naked Pages (Erotica Collection)","read":false,"inLibrary":false,"chapterResourceUrl":"Thanksgiving-Sins-1_13914929","bookResourceUrl":"Naked-Pages-Erotica-Collection_31001107140","viewCountDisplay":"120.7K","lastUpdateTimeDisplay":"Completed","joinBookCurKeywordDisplay":"0","bookId":"31001107140"},{"bookName":"DIRTY PAGES (A Short Story Collection)","pseudonym":"Aria Steele","cover":"https:\u002F\u002Facf.goodnovel.com\u002Fbook\u002F202510\u002F592fabb446eb945276cf3070f6c4713ea542b3bd367c7c678ddbb4902cb026c3.jpg?v=1&p=1","ratings":10,"introduction":"WARNING: HEAVY SMUT AHEAD!!! Mature audiences only! Proceed with caution!\r\n\r\n~ ~ ~ ~ ~\r\n\r\n“Please,” she whispered, desperation cracking her voice. “Please, Chase.”\r\n \r\n“Begging already?” His voice was cruel, his fingers circling faster, pushing her to the edge. “I'm not even nearly done with you yet.”\r\n \r\nShe squeezed her eyes shut, the recruit’s muffled cries and the whip’s crack filling her ears, amplifying her need. Chase’s fingers were relentless, stroking her clit, and dipping inside just enough to tease.\r\n \r\n“Please,” she whimpered, louder now, her hands gripping his shoulders. “I’m sorry. I won’t lie again. I’ll be good. Please, let me cum.”\r\n \r\nHe chuckled, his lips brushing her neck. “Not yet, baby. Fight it.”\r\n \r\nHer body screamed, every nerve on fire, the recruit’s struggles mirroring her own. The girl’s master groaned, close to release, as Lila’s whip landed again and again on her ass.\r\n \r\nEmma’s head felt like it was about to explode under the pressure, her thighs shook with the effort to conceal it, her pleas spilling out. “Please, Chase, I can’t hold it any longer… I need it.\"\r\n \r\n\"Don't. You. Dare. Come.\" \r\n~ ~ ~ ~ ~\r\n\r\n\r\nPicture this: A CEO pinning his partner's daughter over his desk, whispering rules that chain her soul while his cock claims her body. Or a werewolf's claws raking skin in the moonlit woods, rutting her senseless till she's howling his name. We mix it up... sweet, slow-burn romances that melt into tender fucks and whispered \"I love yous,\" flipping to the dark side with BDSM bites, non-con edges that blur fear into filthy want, and horror vibes where ghosts fuck you cold then hot.\r\n\r\nYour panties? Ruined. Your cravings? Fed. And yet, you'll still be here begging for more.\r\n\r\nDive in if you're brave enough.","chapterCount":188,"defaultChapterId":14850487,"defaultChapterName":"BOOK ONE: SOLD TO MY BEST FRIEND'S FATHER","haveSplitBook":false,"seoBookName":"DIRTY PAGES (An Erotica Collection)","read":false,"inLibrary":false,"chapterResourceUrl":"BOOK-ONE-SOLD-TO-MY-BEST-FRIEND-S-FATHER_14850487","bookResourceUrl":"DIRTY-PAGES-An-Erotica-Collection_31001166998","viewCountDisplay":"38.9K","lastUpdateTimeDisplay":"Completed","joinBookCurKeywordDisplay":"0","bookId":"31001166998"},{"bookName":"The Billionaire's Sinful Affair (Book 2)","pseudonym":"Golden Butterfly","cover":"https:\u002F\u002Facf.goodnovel.com\u002Fbook\u002F202604\u002F51cfba71913fc0f5c12147f9c3f825c30df31ae1130d97ba3daf55c74d0b7b74.jpg?v=1&p=1","ratings":10,"introduction":"[WARNING: HEAVY MATURE CONTENT] \r\n\r\nEmmeline never expected her messy marriage to lead to an explosive affair with the most powerful and feared judge. But he isn't just any judge… he's something far more dangerous hiding in plain sight, and their connection defies every law he's sworn to uphold.\r\n\r\nHowever, fate doesn't care about rules nor play fair games. \r\n\r\nEmmeline knows there's more to him, and WHAT he is remains a mystery that unfolds with each supernatural revelation.\r\n\r\nFrom grief-fueled passion to life of a hidden world, their love story unfolds across realities she's only beginning to understand.\r\n\r\nHowever, just when life seemed blissful and they were finally ready to get their happy ending, tragedy struck and two souls were forced apart, throwing one into centuries of despair and the other into a blissful and ignorant nun who's forgotten everything about her previous life.\r\n\r\nFate is a bitter bitch but can she keep these two souls apart forever?","chapterCount":103,"defaultChapterId":17972617,"defaultChapterName":"CH. 1","haveSplitBook":false,"seoBookName":"The Billionaire's Sinful Affair (Book 2)","read":false,"inLibrary":false,"chapterResourceUrl":"CH-1_17972617","bookResourceUrl":"The-Billionaire-s-Sinful-Affair-Book-2_31001364115","viewCountDisplay":"1.3K","lastUpdateTimeDisplay":"Completed","joinBookCurKeywordDisplay":"0","bookId":"31001364115"},{"bookName":"Unknown Divorce: Timeless Disclosure","pseudonym":"Fixxa","cover":"https:\u002F\u002Facf.goodnovel.com\u002Fbook\u002F202602\u002F69fd58abbfd2b0aa57c27ef3fe89b8d3ed05d0a88ba19dee309a3206c1209b28.jpg?v=1&p=1","ratings":6,"introduction":"Despite Thorne Henderson's chilly demeanor after seven years of marriage, Charlene Ross always smiled at him, demonstrating her great love and belief that she would one day win his heart. Rather, she discovered him completely enamored and very protective of another woman, but she persisted in tenaciously preserving their marriage. Charlene was left alone in an empty room on her birthday after he took their child to be with the other lady after she had flown abroad to find him and their daughter. At last, she quit up at that point.\r\n\r\nAs she watched her raised daughter refer to another woman as \"mom,\" Charlene's sorrow subsided.","chapterCount":401,"defaultChapterId":16960658,"defaultChapterName":"Chapter 1","haveSplitBook":false,"seoBookName":"Unknown Divorce: Timeless Disclosure","read":false,"inLibrary":false,"chapterResourceUrl":"Chapter-1_16960658","bookResourceUrl":"Unknown-Divorce-Timeless-Disclosure_31001297491","viewCountDisplay":"3.0K","lastUpdateTimeDisplay":"Completed","joinBookCurKeywordDisplay":"0","bookId":"31001297491"},{"bookName":"Hidden In Plain Sight ","pseudonym":"Floc writer","cover":"https:\u002F\u002Facf.goodnovel.com\u002Fbook\u002F202604\u002Fe581097ba9c14bb4264f53816e480226d72f4aa6e21f06465e15166c472bffd8.jpg?v=1&p=1","ratings":0,"introduction":"For six years, I was the perfect wife. I ironed the linen. I cut the roses. I swallowed every humiliation with a smile. And told myself that patience was the same thing as strength.\r\n\r\nI was wrong. \r\n\r\nWhen my husband sat me down at my own dinner table and ordered me to apologize to his mistress—The woman he had been choosing over me, openly, for years—something inside me didn't Break. \r\n\r\nIt crystallized.\r\n\r\nI picked up my bag. I walked out into the Detroit Cold. And three blocks later, standing under a streetlamp on East Jefferson, I made a phone call that shattered everything I thought I knew about myself. \r\n\r\nMy name is not what he called me. \r\n\r\nI am not the powerless orphan he laughed at as I walked out his door. I am not the woman with nowhere to go and no one waiting for her. \r\n\r\nI am Serena Caldwell—lost daughter of a billionaire empire, heiress to legacy twenty years in the making.\r\n\r\nAnd the last woman my husband ever should have humiliated at her own table. \r\n\r\nHe thought discarding me was the easiest thing he had ever done.\r\n\r\nHe had no idea it was the last mistake he would ever make.\r\n\r\nI spent six years being invisible. \r\n\r\nNow I am coming back—not as the broken wife he betrayed, but as the woman who will dismantle everything he built, brick by brick, until there is nothing left but the echo of his own arrogance. \r\n\r\nHe wanted me gone.\r\n\r\nHe has no idea what gone look like yet. ","chapterCount":26,"defaultChapterId":18306082,"defaultChapterName":"The Last Apology","haveSplitBook":false,"seoBookName":"Hidden In Plain Sight ","read":false,"inLibrary":false,"chapterResourceUrl":"The-Last-Apology_18306082","bookResourceUrl":"Hidden-In-Plain-Sight_31001379916","viewCountDisplay":"479","lastUpdateTimeDisplay":"Completed","joinBookCurKeywordDisplay":"0","bookId":"31001379916"}],"recommendTag":[{"id":26797,"keyword":"Study Bibles For Beginners","keywordFormat":"study-bibles-for-beginners","language":"ENGLISH"},{"id":14251,"keyword":"Christian Romance Novels","keywordFormat":"christian-romance-novels","language":"ENGLISH"},{"id":250146,"keyword":"Gloves Off By Stephanie Archer","keywordFormat":"gloves-off-by-stephanie-archer","language":"ENGLISH"},{"id":29861,"keyword":"Pdf To Epub Converter Freeware","keywordFormat":"pdf-to-epub-converter-freeware","language":"ENGLISH"},{"id":248271,"keyword":"My Life With The Chimpanzees","keywordFormat":"my-life-with-the-chimpanzees","language":"ENGLISH"},{"id":225913,"keyword":"Before And After","keywordFormat":"before-and-after","language":"ENGLISH"},{"id":30918,"keyword":"Books Online Free Download Pdf","keywordFormat":"books-online-free-download-pdf","language":"ENGLISH"},{"id":360,"keyword":"New York Times Best Seller","keywordFormat":"new-york-times-best-seller","language":"ENGLISH"},{"id":6722,"keyword":"Jujutsu Kaisen The Spirit Of Yasha","keywordFormat":"jujutsu-kaisen-the-spirit-of-yasha","language":"ENGLISH"},{"id":1791,"keyword":"Warhammer Fanfiction","keywordFormat":"warhammer-fanfiction","language":"ENGLISH"},{"id":30553,"keyword":"Download Bible App King James Version","keywordFormat":"download-bible-app-king-james-version","language":"ENGLISH"},{"id":7625,"keyword":"Dopamine Nation","keywordFormat":"dopamine-nation","language":"ENGLISH"},{"id":2622,"keyword":"When Was The Holy Bible Written","keywordFormat":"when-was-the-holy-bible-written","language":"ENGLISH"},{"id":37752,"keyword":"Coming Soon Horror","keywordFormat":"coming-soon-horror","language":"ENGLISH"},{"id":30314,"keyword":"Codename Anastasia Novel Pdf Free Download","keywordFormat":"codename-anastasia-novel-pdf-free-download","language":"ENGLISH"},{"id":29553,"keyword":"Adventure Romance Books","keywordFormat":"adventure-romance-books","language":"ENGLISH"},{"id":250169,"keyword":"Five Gifts For The Blacksmith's Wife","keywordFormat":"five-gifts-for-the-blacksmith-s-wife","language":"ENGLISH"},{"id":248294,"keyword":"The Diapers And Dresses Academy: ABDL Sissy Book 2","keywordFormat":"the-diapers-and-dresses-academy-abdl-sissy-book-2","language":"ENGLISH"},{"id":248349,"keyword":"The Blacker The Berry...","keywordFormat":"the-blacker-the-berry","language":"ENGLISH"},{"id":33675,"keyword":"Sasuke Uchiha Akatsuki","keywordFormat":"sasuke-uchiha-akatsuki","language":"ENGLISH"},{"id":248319,"keyword":"The Grasshopper: Games, Life And Utopia","keywordFormat":"the-grasshopper-games-life-and-utopia","language":"ENGLISH"},{"id":15565,"keyword":"Read Online Romance Novels","keywordFormat":"read-online-romance-novels","language":"ENGLISH"},{"id":91024,"keyword":"The Wind In The Willows","keywordFormat":"the-wind-in-the-willows","language":"ENGLISH"},{"id":154327,"keyword":"One Piece Manga Spoilers","keywordFormat":"one-piece-manga-spoilers","language":"ENGLISH"},{"id":248300,"keyword":"In My Feels: How To Feel God When I'm Not Feeling It","keywordFormat":"in-my-feels-how-to-feel-god-when-i-m-not-feeling-it","language":"ENGLISH"},{"id":170,"keyword":"Blankets","keywordFormat":"blankets","language":"ENGLISH"},{"id":191,"keyword":"I Am Malala","keywordFormat":"i-am-malala","language":"ENGLISH"},{"id":248298,"keyword":"Didn't See That Coming: Putting Life Back Together When Your World Falls Apart","keywordFormat":"didn-t-see-that-coming-putting-life-back-together-when-your-world-falls-apart","language":"ENGLISH"},{"id":11464,"keyword":"Galatea 2.2","keywordFormat":"galatea-2-2","language":"ENGLISH"},{"id":7965,"keyword":"Bewilderment","keywordFormat":"bewilderment","language":"ENGLISH"}],"relatedQATag":[{"keyword":"Change Pdf Metadata Online","keywordFormat":"change-pdf-metadata-online","language":"ENGLISH"}],"dramaPlotAds":[{"id":222,"language":"ENGLISH","firstCategoryId":33,"secondCategoryId":282,"coverImg":"https:\u002F\u002Facf.goodnovel.com\u002Fres\u002Fseo\u002FplotAd\u002F202607\u002F13323d262b802f6f43b8dfe0947d2931544ea7928956e1fd4d10cd72259b8818.png?v=1&p=1","title":"Stealing My Stepdaughter: She Moans 'Daddy' While Her Boyfriend Listens","plotDetail":"After her shower, Vivi slipped into a thin, silky nightdress that barely reached the tops of her thighs. The delicate fabric clung to her still-damp skin, outlining the gentle swell of her breasts and the soft curve of her hips. \n\n\n\nShe padded barefoot into the dimly lit living room, searching for her phone charger. When she bent over the coffee table, the short hem rode up dangerously high. For one agonizing moment, the smooth, pale skin of her rounded backside was completely revealed, along with the shadowed, intimate valley between her thighs—no underwear to shield her most private area from view. \n\n\n\nMarcus sat frozen on the sofa, the television’s glow flickering across his tense face. His throat tightened.\n\n\n\n\"This is wrong,\" he told himself, even as his gaze traced every forbidden inch of her exposed skin.\n\n\n\n She was his stepdaughter.He had raised her, protected her. Yet here she was, innocently offering a glimpse of something so pure and tempting that it sent a dark wave of heat straight through his body. \n\n\n\nGuilt clawed at his chest, but desire burned hotter, stirring memories he had tried for years to bury. \n\n\n\nHis fingers gripped the armrest until his knuckles whitened. Why did she have to be so beautiful, so unknowingly seductive? The conflict tore at him—part of him wanted to look away, to be the respectable father figure he was supposed to be, while another, deeper part ached to reach out and claim what he knew he could never have. \n\n\n\nVivi straightened casually, as if unaware of the storm she had unleashed, and wandered back toward her room, her hips swaying gently.\n\n\n\nMarcus remained seated long after she disappeared, his heart hammering and his body painfully aroused. \n\n\n\nThat night, alone in his bed, he couldn’t escape the image.\n\n\n\n His hand moved slowly under the sheets as he relived every detail—the softness of her skin, the delicate pink flush, the way the light had kissed her most secret places. Shame and lust battled inside him with every stroke. He whispered her name into the darkness like a prayer and a curse, torn between self-loathing and overwhelming need. \n\n\n\nHis release brought only temporary relief, leaving him more tormented than before, knowing the line he was dangerously close to crossing.\n\n\n\nA few nights later, faint sounds drifted through the wall—soft, breathy moans that grew increasingly urgent. Vivi was on a late-night call with her boyfriend. The conversation had turned intimate, her voice trembling with pleasure. \n\n\n\n“Yes… like that…” she gasped. Then, in a broken moan that shattered Marcus’s restraint, she uttered the word: “Daddy… please…” \n\n\n\nThe sound hit him like lightning. Heart pounding with a mix of shock, jealousy, and raw hunger, Marcus pushed open her bedroom door without knocking. \n\n\n\nVivi lay on her bed, nightdress bunched around her waist, one hand still between her parted thighs. Her cheeks were flushed, eyes wide with shock as she met his intense gaze. She froze, unable to hide the obvious evidence of her arousal—the way her body trembled, the faint sheen on her skin. \n\n\n\nMarcus stood in the doorway, tall and tense, breathing ragged. Years of suppressed longing burned in his eyes. \n\n\n\n“Your boyfriend can’t satisfy you, can he?” he said, his voice low and rough with barely controlled desire. He stepped inside and closed the door behind him. “Let Daddy show you what you really need.”","recommendBookId":"31001428307"}],"tagDetail":{"seoQATag":{},"relatedBookVos":[],"recommendQATag":[],"popularQuestion":[],"relatedQuestion":[],"relatedQATag":[],"dramaPlotAds":[]},"tagList":[],"tagListPages":0,"tagKeywords":[],"homeRecommendTag":{}},"compare":{"books":[]},"route":{"name":"QaDetail","path":"\u002Fqa\u002Fview-metadata-pdf-python-pypdf2","hash":"","query":{},"params":{"questionFormat":"view-metadata-pdf-python-pypdf2"},"fullPath":"\u002Fqa\u002Fview-metadata-pdf-python-pypdf2","meta":{},"from":{"name":null,"path":"\u002F","hash":"","query":{},"params":{},"fullPath":"\u002F","meta":{}}}};(function(){var s;(s=document.currentScript||document.scripts[document.scripts.length-1]).parentNode.removeChild(s);}());</script><script src="https://yfbwww.goodnovel.com/pcdist/manifest.d98191325d96a9d04dd4.js" defer></script><script src="https://yfbwww.goodnovel.com/pcdist/vendor.241c456eace0082b1da4.js" defer></script><script src="https://yfbwww.goodnovel.com/pcdist/app.f27c62e2c963ea7fffbd.js" defer></script> </div> </body> <!-- <script async type="text/javascript" src="/static/pwa.js"></script> --> <script src="https://accounts.google.com/gsi/client" async defer></script> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-63M8B9SVWF"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-63M8B9SVWF'); </script> </html>