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

Extracting document properties from a PDF using PyPDF2 seems messy. Is there a specific method to get author, title, and creation date cleanly?
2025-09-02 01:20:04
426
Share
ABO Personality Quiz
Take a quick quiz to find out whether you‘re Alpha, Beta, or Omega.
Scent
Personality
Ideal Love Pattern
Secret Desire
Your Dark Side
Start Test

8 Answers

Best Answer
CodyFord
CodyFord
Library Roamer Mechanic
To extract PDF metadata like author or title with PyPDF2, you can use the PdfReader class. First, import it with . Then, create a reader object from your file path, like . The metadata is stored as a dictionary in , so you can access keys such as or . It's straightforward for basic needs. On a different note, I've been reading online stories while working through Python tutorials, and a book like 'Hidden Identity: My Demi God, the Alpha King' has this distinct hook of a protagonist forced to conceal their true nature while navigating the dangerous politics of a werewolf monarchy. The dual-life premise creates a constant tension that's compelling to unwind with after coding.
2026-08-01 14:34:25
93
Zander
Zander
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
Leah
Leah
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
Oliver
Oliver
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
Quinn
Quinn
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

Can I view metadata of pdf from command line on Linux?

12 Answers2025-09-02 00:27:28
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>/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.

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 does a python library for pdf handle metadata edits?

4 Answers2025-09-03 09:03:51
If you've ever dug into PDFs to tweak a title or author, you'll find it's a small rabbit hole with a few different layers. At the simplest level, most Python libraries let you change the document info dictionary — the classic /Info keys like Title, Author, Subject, and Keywords. Libraries such as PyPDF2 expose a dict-like interface where you read pdf.getDocumentInfo() or set pdf.documentInfo = {...} and then write out a new file. Behind the scenes that changes the Info object in the PDF trailer and the library usually rebuilds the cross-reference table when saving. Beyond that surface, there's XMP metadata — an XML packet embedded in the PDF that holds richer metadata (Dublin Core, custom schemas, etc.). Some libraries (for example, pikepdf or PyMuPDF) provide helpers to read and write XMP, but simpler wrappers might only touch the Info dictionary and leave XMP untouched. That mismatch can lead to confusing results where one viewer shows your edits and another still displays old data. Other practical things I watch for: encrypted files need a password to edit; editing metadata can invalidate a digital signature; unicode handling differs (Info strings sometimes need PDFDocEncoding or UTF-16BE encoding, while XMP is plain UTF-8 XML); and many libraries perform a full rewrite rather than an in-place edit unless they explicitly support incremental updates. I usually keep a backup and check with tools like pdfinfo or exiftool after saving to confirm everything landed as expected.

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-files-windows-10" class="qa-item-title" data-v-b7353ae2> How do I view metadata of pdf files on Windows 10? </a></h3><div class="qa-item-line" data-v-b7353ae2><span data-v-b7353ae2>10 Answers</span><span data-v-b7353ae2>2025-09-02 11:26:25</span></div><div class="qa-item-desc" data-v-b7353ae2>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.</div></div><div class="qa-item" data-v-b7353ae2><h3 data-v-b7353ae2><a href="/qa/view-metadata-pdf-using-adobe-acrobat" class="qa-item-title" data-v-b7353ae2> How can I view metadata of pdf using Adobe Acrobat? </a></h3><div class="qa-item-line" data-v-b7353ae2><span data-v-b7353ae2>5 Answers</span><span data-v-b7353ae2>2025-09-02 15:38:00</span></div><div class="qa-item-desc" data-v-b7353ae2>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.</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/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>11 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-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>5 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/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-222bd693><h2 class="qad-title" data-v-222bd693>Related Searches</h2><div class="qas" data-v-e6977e9e data-v-222bd693><a href="/qa/t_view-metadata-of-pdf" class="qas-item" data-v-e6977e9e><h3 class="qas-item-text" data-v-e6977e9e>View Metadata Of Pdf</h3></a><a href="/qa/t_pdf-extract-text-python" class="qas-item" data-v-e6977e9e><h3 class="qas-item-text" data-v-e6977e9e>Pdf Extract Text Python</h3></a><a href="/qa/t_python-library-for-pdf" class="qas-item" data-v-e6977e9e><h3 class="qas-item-text" data-v-e6977e9e>Python Library For Pdf</h3></a><a href="/qa/t_pdf-for-python-programming" class="qas-item" data-v-e6977e9e><h3 class="qas-item-text" data-v-e6977e9e>Pdf For Python Programming</h3></a><a href="/qa/t_extract-pdf-text" class="qas-item" data-v-e6977e9e><h3 class="qas-item-text" data-v-e6977e9e>Extract Pdf Text</h3></a><a href="/qa/t_extract-text-from-pdf-document" class="qas-item" data-v-e6977e9e><h3 class="qas-item-text" data-v-e6977e9e>Extract Text From Pdf Document</h3></a><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><a href="/qa/t_python-pdfs" class="qas-item" data-v-e6977e9e><h3 class="qas-item-text" data-v-e6977e9e>Python Pdfs</h3></a></div></div></div><div class="qad-right" data-v-222bd693><div class="qad-right-section" data-v-222bd693><div class="list" data-v-4c1b4076 data-v-222bd693><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/read-mister-babadook-online-free" class="right-item-title" data-v-4c1b4076>Where Can I Read Mister Babadook Online For Free?</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/fan-reactions-black-gohan-s-debut" class="right-item-title" data-v-4c1b4076>What Are Fan Reactions To Black Gohan'S Debut?</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/read-hunter-x-hunter-curarpikt-online-free" class="right-item-title" data-v-4c1b4076>Where Can I Read Hunter X Hunter Curarpikt Online Free?</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/download-spenser-novels-order-ebook-reading" class="right-item-title" data-v-4c1b4076>Where Can I Download The Spenser Novels In Order For Ebook Reading?</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/many-pages-shella-have" class="right-item-title" data-v-4c1b4076>How Many Pages Does Shella Have?</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/stream-recos-wild-robot-audiobook-versions" class="right-item-title" data-v-4c1b4076>Where Can I Stream Recos The Wild Robot Audiobook Versions?</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/download-bdsm-positions-dominant-positions-beginners-novel-free" class="right-item-title" data-v-4c1b4076>Can I Download BDSM Positions: Dominant Positions For Beginners Novel For Free?</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/major-differences-reading-hearing-left-hand-darkness-audiobook" class="right-item-title" data-v-4c1b4076>Are There Major Differences Between Reading And Hearing The Left Hand Of Darkness As An Audiobook?</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/read-crunchyroll-anime-one-piece-online-free" class="right-item-title" data-v-4c1b4076>Where To Read Crunchyroll Anime One Piece Online Free?</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/the-cremation-sam-mcgee-end" class="right-item-title" data-v-4c1b4076>How Does 'The Cremation Of Sam McGee' End?</a></span></div></div></div></div><div class="qad-right-section" data-v-222bd693><div class="qad-right-title" data-v-222bd693>Popular Searches</div><div class="qas qas--list" data-v-e6977e9e data-v-222bd693><a href="/qa/t_romance-novel-recommendation" class="qas-item" data-v-e6977e9e><div class="qas-item-text" data-v-e6977e9e>Romance Novel Recommendation</div></a><a href="/qa/t_did-george-crabtree-die-in-murdoch-mysteries" class="qas-item" data-v-e6977e9e><div class="qas-item-text" data-v-e6977e9e>Did George Crabtree Die In Murdoch Mysteries</div></a><a href="/qa/t_lyrics-count-on-me" class="qas-item" data-v-e6977e9e><div class="qas-item-text" data-v-e6977e9e>Lyrics Count On Me</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_how-to-quit-vim-editor" class="qas-item" data-v-e6977e9e><div class="qas-item-text" data-v-e6977e9e>How To Quit Vim Editor</div></a><a href="/qa/t_chord-just-the-way-you-are" class="qas-item" data-v-e6977e9e><div class="qas-item-text" data-v-e6977e9e>Chord Just The Way You Are</div></a><a href="/qa/t_plex" class="qas-item" data-v-e6977e9e><div class="qas-item-text" data-v-e6977e9e>Plex</div></a><a href="/qa/t_japanese-tales-of-mystery-and-imagination" class="qas-item" data-v-e6977e9e><div class="qas-item-text" data-v-e6977e9e>Japanese Tales Of Mystery And Imagination</div></a><a href="/qa/t_annie-bot" class="qas-item" data-v-e6977e9e><div class="qas-item-text" data-v-e6977e9e>Annie Bot</div></a><a href="/qa/t_anime-like-guilty-crown" class="qas-item" data-v-e6977e9e><div class="qas-item-text" data-v-e6977e9e>Anime Like Guilty Crown</div></a></div></div></div></div><div class="downb qad-db" data-v-2571a44a data-v-222bd693><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://www.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://www.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://www.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":false},"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":922634,"question":"Where Can I Read Mister Babadook Online For Free?","questionFormat":"read-mister-babadook-online-free","publishTime":"2025-12-28 18:01:01","language":"ENGLISH","answerNum":4,"viewCount":16,"ctime":"2025-11-28 06:12:23","utime":"2026-01-04 10:32:30","viewCountDisplay":"16","followCountDisplay":"0"},{"id":611790,"question":"What Are Fan Reactions To Black Gohan'S Debut?","questionFormat":"fan-reactions-black-gohan-s-debut","publishTime":"2025-11-25 20:13:52","language":"ENGLISH","answerNum":5,"viewCount":123,"ctime":"2025-10-15 20:11:38","utime":"2025-12-02 14:41:43","viewCountDisplay":"123","followCountDisplay":"0"},{"id":1024836,"question":"Where Can I Read Hunter X Hunter Curarpikt Online Free?","questionFormat":"read-hunter-x-hunter-curarpikt-online-free","publishTime":"2026-02-07 05:56:40","language":"ENGLISH","answerNum":4,"viewCount":66,"ctime":"2025-12-05 12:10:30","utime":"2026-02-14 02:11:45","viewCountDisplay":"66","followCountDisplay":"0"},{"id":5002707,"question":"Where Can I Download The Spenser Novels In Order For Ebook Reading?","keyword":"list of spenser novels in order","questionFormat":"download-spenser-novels-order-ebook-reading","publishTime":"2026-07-30 00:03:31","language":"ENGLISH","answerNum":6,"viewCount":108,"ctime":"2026-07-18 06:32:20","utime":"2026-08-06 20:11:13","viewCountDisplay":"108","followCountDisplay":"0"},{"id":923950,"question":"How Many Pages Does Shella Have?","questionFormat":"many-pages-shella-have","publishTime":"2025-12-24 05:48:11","language":"ENGLISH","answerNum":4,"viewCount":259,"ctime":"2025-11-28 06:12:30","utime":"2025-12-31 10:21:26","viewCountDisplay":"259","followCountDisplay":"0"},{"id":638963,"question":"Where Can I Stream Recos The Wild Robot Audiobook Versions?","questionFormat":"stream-recos-wild-robot-audiobook-versions","publishTime":"2025-12-30 22:50:31","language":"ENGLISH","answerNum":1,"viewCount":296,"ctime":"2025-10-21 10:30:22","utime":"2026-01-06 00:11:33","viewCountDisplay":"296","followCountDisplay":"0"},{"id":1219059,"question":"Can I Download BDSM Positions: Dominant Positions For Beginners Novel For Free?","questionFormat":"download-bdsm-positions-dominant-positions-beginners-novel-free","publishTime":"2025-12-08 02:30:43","language":"ENGLISH","answerNum":5,"viewCount":120,"ctime":"2025-12-13 06:12:26","utime":"2025-12-15 10:45:16","viewCountDisplay":"120","followCountDisplay":"0"},{"id":5000101,"question":"Are There Major Differences Between Reading And Hearing The Left Hand Of Darkness As An Audiobook?","keyword":"left hand of darkness audio book","questionFormat":"major-differences-reading-hearing-left-hand-darkness-audiobook","publishTime":"2026-07-29 12:33:06","language":"ENGLISH","answerNum":6,"viewCount":238,"ctime":"2026-07-18 06:31:58","utime":"2026-08-05 22:11:14","viewCountDisplay":"238","followCountDisplay":"0"},{"id":1027247,"question":"Where To Read Crunchyroll Anime One Piece Online Free?","questionFormat":"read-crunchyroll-anime-one-piece-online-free","publishTime":"2026-02-07 08:16:14","language":"ENGLISH","answerNum":4,"viewCount":266,"ctime":"2025-12-05 12:10:44","utime":"2026-02-14 22:11:46","viewCountDisplay":"266","followCountDisplay":"0"},{"id":1220452,"question":"How Does 'The Cremation Of Sam McGee' End?","questionFormat":"the-cremation-sam-mcgee-end","publishTime":"2025-12-09 14:51:36","language":"ENGLISH","answerNum":5,"viewCount":100,"ctime":"2025-12-13 06:12:34","utime":"2025-12-16 10:13:43","viewCountDisplay":"100","followCountDisplay":"0"}],"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","description":"Extracting document properties from a PDF using PyPDF2 seems messy. Is there a specific method to get author, title, and creation date cleanly?","publishTime":"2025-09-02 01:20:04","language":"ENGLISH","viewCount":426,"followCount":30,"ctime":"2025-09-06 11:05:30","utime":"2026-07-22 09:02:14","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":16220538,"questionId":351308,"userName":"CodyFord","userAvatar":"https:\u002F\u002Facf.goodnovel.com\u002Fseo\u002Fvirtual_user\u002Fenglish\u002Faa7d766760edf233c9584d2b7338358ddf70e7d1685440130132679c9d36300379fdc7460b66a0ac83114b3361d2e4cd.png?v=1&p=1","content":"To extract PDF metadata like author or title with PyPDF2, you can use the PdfReader class. First, import it with . Then, create a reader object from your file path, like . The metadata is stored as a dictionary in , so you can access keys such as or . It's straightforward for basic needs. On a different note, I've been reading online stories while working through Python tutorials, and a book like 'Hidden Identity: My Demi God, the Alpha King' has this distinct hook of a protagonist forced to conceal their true nature while navigating the dangerous politics of a werewolf monarchy. The dual-life premise creates a constant tension that's compelling to unwind with after coding.","ctime":"2026-08-01 14:34:25","utime":"2026-08-06 16:52:03","answerCredibilityTags":"Library Roamer","userOccupationLabel":"Mechanic","hitQATagObj":{},"praiseCount":93,"stepOnCount":0,"adBookName":"Naked Pages","adBookResourceUrl":"Naked-Pages-Erotica-Collection_31001107140","favoriteBookName":"Loved (Book #2 in the Vampire Journals)","favoriteBookResourceUrl":"Loved-Book-2-in-the-Vampire-Journals_31000456648"},{"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":"Alpha Drake","favoriteBookResourceUrl":"Alpha-Drake_31000483501"},{"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":"Moonlit Pages","favoriteBookResourceUrl":"Moonlit-Pages_31000480581"},{"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":"The Dragon Rider Book 2 + 3","favoriteBookResourceUrl":"The-Dragon-Rider-Book-2-3_31000692810"},{"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":"His Hidden Luna","favoriteBookResourceUrl":"His-Hidden-Luna_31000300372"},{"id":18861404,"questionId":351308,"userName":"TheoFox","userAvatar":"https:\u002F\u002Facf.goodnovel.com\u002Fseo\u002Fvirtual_user\u002Fenglish\u002Fc28ac0e2ff90c1caddb3031019a80162912768004e7ba56a961ac410a1d2d0f9ea5f0cd42efd0661e48b83f1d2d5e37e.png?v=1&p=1","content":"Finally, remember that PyPDF2 is just a tool. It does one small thing well. For a comprehensive PDF toolkit, you might combine it with other libraries: for text, for rendering and advanced features, for generation. But for the specific task of reading basic metadata, PyPDF2 is simple and sufficient. Start with it, and if you hit limitations, explore other options. Most projects never need to go beyond it for this task. So install it, write a few lines of code, and you're done.","ctime":"2026-08-02 20:08:42","utime":"2026-08-06 16:52:03","answerCredibilityTags":"Twist Chaser","userOccupationLabel":"Receptionist","hitQATagObj":{},"praiseCount":34,"stepOnCount":0,"favoriteBookName":"My Secondhand Computer Came With My Fiancé's Nudes","favoriteBookResourceUrl":"My-Secondhand-Computer-Came-With-My-Fiancé-s-Nudes_31001379370"},{"id":18861402,"questionId":351308,"userName":"VedaBrown","userAvatar":"https:\u002F\u002Facf.goodnovel.com\u002Fseo\u002Fvirtual_user\u002Fenglish\u002Fe0bf32017ade50e46bacbfaa9359052f3ee72d197a8ae405025dfe6fb2fcb27355b14547bc47d12382aaa7fd5ee4f133.png?v=1&p=1","content":"For batch processing, consider using for cleaner path handling. Instead of , you can do and then . It's more modern and cross-platform. Then you can easily iterate over a directory with . Combine that with PyPDF2 in a loop, and you have a powerful batch metadata extractor. Using pathlib makes the code cleaner when dealing with file extensions and paths. It's a small style point, but it improves readability and reduces errors from string concatenation for file paths.","ctime":"2026-08-03 22:42:06","utime":"2026-08-06 16:52:03","answerCredibilityTags":"Bibliophile","userOccupationLabel":"Police Officer","hitQATagObj":{},"praiseCount":13,"stepOnCount":0,"favoriteBookName":"Esmerelda Sleuth: The Magic Box (Book 2)","favoriteBookResourceUrl":"Esmerelda-Sleuth-The-Magic-Box-Book-2_31000122136"},{"id":18861403,"questionId":351308,"userName":"AlanKelly","userAvatar":"https:\u002F\u002Facf.goodnovel.com\u002Fseo\u002Fvirtual_user\u002Fenglish\u002F838fdef4ef821803b114c723aae74c4af3027f6731a0dca0709075dd2796fcc3ddee5de111000739a4b9564da565c0c2.png?v=1&p=1","content":"What if the PDF is scanned? Scanned PDFs are just images, so there's usually no metadata at all unless the scanning software added it. So your PyPDF2 extraction will likely return an empty dictionary or just the producer\u002Fcreator fields from the scanner software. Don't expect title or author from a pure image PDF. You'd need OCR to get that information. This is a fundamental limitation of the format, not the library. So if you're dealing with a lot of scanned documents, metadata extraction will be less useful. You'll have to rely on filenames or folder structures.","ctime":"2026-08-06 16:01:26","utime":"2026-08-06 16:52:03","answerCredibilityTags":"Honest Reviewer","userOccupationLabel":"Editor","hitQATagObj":{},"praiseCount":4,"stepOnCount":0,"favoriteBookName":"Encoded","favoriteBookResourceUrl":"Encoded_31000115361"}],"softAdFlag":true,"viewCountDisplay":"426","followCountDisplay":"30"},"relatedQuestion":[{"id":351303,"question":"Can I view metadata of pdf from command line on Linux?","keyword":"view metadata of pdf","questionFormat":"view-metadata-pdf-command-line-linux","publishTime":"2025-09-02 00:27:28","language":"ENGLISH","answerNum":12,"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.","viewCount":226,"ctime":"2025-09-06 11:05:30","utime":"2026-07-22 09:02:15","viewCountDisplay":"226","followCountDisplay":"0"},{"id":130108,"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.","viewCount":293,"ctime":"2025-07-05 09:50:05","utime":"2025-07-11 02:00:04","viewCountDisplay":"293","followCountDisplay":"0"},{"id":354694,"question":"How does a python library for pdf handle metadata edits?","keyword":"python library for pdf","questionFormat":"python-library-pdf-handle-metadata-edits","publishTime":"2025-09-03 09:03:51","language":"ENGLISH","answerNum":4,"firstAnswer":"If you've ever dug into PDFs to tweak a title or author, you'll find it's a small rabbit hole with a few different layers. At the simplest level, most Python libraries let you change the document info dictionary — the classic \u002FInfo keys like Title, Author, Subject, and Keywords. Libraries such as PyPDF2 expose a dict-like interface where you read pdf.getDocumentInfo() or set pdf.documentInfo = {...} and then write out a new file. Behind the scenes that changes the Info object in the PDF trailer and the library usually rebuilds the cross-reference table when saving.\n\nBeyond that surface, there's XMP metadata — an XML packet embedded in the PDF that holds richer metadata (Dublin Core, custom schemas, etc.). Some libraries (for example, pikepdf or PyMuPDF) provide helpers to read and write XMP, but simpler wrappers might only touch the Info dictionary and leave XMP untouched. That mismatch can lead to confusing results where one viewer shows your edits and another still displays old data.\n\nOther practical things I watch for: encrypted files need a password to edit; editing metadata can invalidate a digital signature; unicode handling differs (Info strings sometimes need PDFDocEncoding or UTF-16BE encoding, while XMP is plain UTF-8 XML); and many libraries perform a full rewrite rather than an in-place edit unless they explicitly support incremental updates. I usually keep a backup and check with tools like pdfinfo or exiftool after saving to confirm everything landed as expected.","viewCount":670,"ctime":"2025-09-06 12:27:17","utime":"2026-04-16 06:20:48","viewCountDisplay":"670","followCountDisplay":"0"},{"id":351301,"question":"How can I view metadata of pdf without installing software?","keyword":"view metadata of pdf","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.","viewCount":311,"ctime":"2025-09-06 11:05:30","utime":"2026-05-25 05:31:36","viewCountDisplay":"311","followCountDisplay":"0"},{"id":351299,"question":"How do I view metadata of pdf files on Windows 10?","keyword":"view metadata of pdf","questionFormat":"view-metadata-pdf-files-windows-10","publishTime":"2025-09-02 11:26:25","language":"ENGLISH","answerNum":10,"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.","viewCount":415,"ctime":"2025-09-06 11:05:30","utime":"2026-07-22 09:02:15","viewCountDisplay":"415","followCountDisplay":"0"},{"id":351300,"question":"How can I view metadata of pdf using Adobe Acrobat?","keyword":"view metadata of pdf","questionFormat":"view-metadata-pdf-using-adobe-acrobat","publishTime":"2025-09-02 15:38:00","language":"ENGLISH","answerNum":5,"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.","viewCount":603,"ctime":"2025-09-06 11:05:30","utime":"2026-07-18 21:06:15","viewCountDisplay":"603","followCountDisplay":"0"},{"id":351306,"question":"How can I view metadata of pdf and remove sensitive info?","keyword":"view metadata of pdf","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.","viewCount":598,"ctime":"2025-09-06 11:05:30","utime":"2026-05-21 05:29:09","viewCountDisplay":"598","followCountDisplay":"0"},{"id":351305,"question":"How can I view metadata of pdf created by Microsoft Word?","keyword":"view metadata of pdf","questionFormat":"view-metadata-pdf-created-microsoft-word","publishTime":"2025-09-02 21:10:50","language":"ENGLISH","answerNum":11,"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.","viewCount":411,"ctime":"2025-09-06 11:05:30","utime":"2026-07-21 14:36:41","viewCountDisplay":"411","followCountDisplay":"0"},{"id":351302,"question":"Where can I view metadata of pdf on macOS Preview app?","keyword":"view metadata of pdf","questionFormat":"view-metadata-pdf-macos-preview-app","publishTime":"2025-09-02 19:02:44","language":"ENGLISH","answerNum":5,"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.","viewCount":568,"ctime":"2025-09-06 11:05:30","utime":"2026-07-20 10:49:32","viewCountDisplay":"568","followCountDisplay":"0"},{"id":351307,"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.","viewCount":85,"ctime":"2025-09-06 11:05:30","utime":"2026-04-22 06:13:40","viewCountDisplay":"85","followCountDisplay":"0"}],"relatedKeywordList":[{"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":"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":115,"defaultChapterId":17972617,"defaultChapterName":"CH. 1","haveSplitBook":false,"seoBookName":"The Billionaire's Sinful Affair (Book 2)","read":false,"chapterResourceUrl":"CH-1_17972617","inLibrary":false,"bookResourceUrl":"The-Billionaire-s-Sinful-Affair-Book-2_31001364115","viewCountDisplay":"1.5K","lastUpdateTimeDisplay":"Completed","joinBookCurKeywordDisplay":"0","bookId":"31001364115"},{"bookName":"PROFESSOR'S PET (M×M)","pseudonym":"HO PE","cover":"https:\u002F\u002Facf.goodnovel.com\u002Fbook\u002F202509\u002F17cac3160a888bf62bce046d80704f8c306fb5fb3ebdcfb46ecb7a8cdfdfa996.jpg?v=1&p=1","ratings":0,"introduction":"BLURB:\r\n\r\n \n\nEthan was just a college student trying to keep his unsteady life together. Boring lectures, empty bank account. A future that felt blurry at best. Nothing about his world was exciting… until he walked into that lecture hall.\n\nThen he saw him.\n\nA magnetic qns handsome. The kind of man who silences a room without trying. Professor Kai was brilliant, untouchable, and completely off-limits. Every student wanted his attention. Ethan just wanted to survive it.\n\nHe told himself it was only admiration. A harmless crush. Professors and students don’t mix, right?\n\nHe was wrong.\n\nBecause this Professor isn’t a professor at all. Behind the tailored suits and sharp lectures is a spy in disguise, sent on an impossible mission that could shift the balance of power.\n\n One mistake or questions . And Ethan’s life becomes collateral damage.\n\nEthan never thought attraction could be fatal. But the closer he gets, the more secrets he uncovers… and the harder it is to walk away. \n\nEvery lie pulls him deeper. Every glance feels like a warning he refuses to hear. The more dangerous the truth gets, the more obsessed he becomes with the man keeping it.\n\nNow Ethan is trapped between fear and desire. Between running for his life, or falling for a man who was never meant to be loved.\n\nThis is the story of a student who fell in love with secrets. And a spy who never planned on being found.\n\nThe question is: when the mission ends… will love survive it? ","chapterCount":79,"defaultChapterId":14187760,"defaultChapterName":" DESPERATE PLEA","haveSplitBook":false,"seoBookName":"PROFESSOR'S PET (M×M)","read":false,"chapterResourceUrl":"DESPERATE-PLEA_14187760","inLibrary":false,"bookResourceUrl":"PROFESSOR-S-PET-M×M_31001124528","viewCountDisplay":"7.6K","lastUpdateTimeDisplay":"Completed","joinBookCurKeywordDisplay":"0","bookId":"31001124528"},{"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,"chapterResourceUrl":"Chapter-1_16960658","inLibrary":false,"bookResourceUrl":"Unknown-Divorce-Timeless-Disclosure_31001297491","viewCountDisplay":"3.6K","lastUpdateTimeDisplay":"Completed","joinBookCurKeywordDisplay":"0","bookId":"31001297491"},{"bookName":"Hidden Legacy (The Lost Luna)","pseudonym":"Nikora Clegg","cover":"https:\u002F\u002Facf.goodnovel.com\u002Fbook\u002F202312\u002FHidden-Legacy-The-Lost-Luna\u002Fff4146c686b82bcea9c0b4d132c52fefec63065159dce24149b41f5b9870954a.jpg?v=1&p=1","ratings":9.8,"introduction":"The Red Devil Pack (under the guise of rogues) attacked the Silver Wolf Pack and killed everyone except the pregnant Luna who wasn't there at the time. She went into hiding, and before her daughter turned 18, she passed away. Her daughter, Adriana, has grown up thinking she is nothing more than an Omega until she finds out she is the fated mate of the Alpha, Daemon, in the pack she has been hiding. He doesn't want a mate, especially an Omega but finds he cannot reject her. He finds out that she is much more than he realises, and he has to save her from those who would harm her for the power she brings.\r\n\r\nThis book was originally a standalone but has become a series of five books. All of them are\u002Fwill be in this book.","chapterCount":350,"defaultChapterId":3086852,"defaultChapterName":"Book 1: The Lost Luna - Ch. 1 Where It All Started","haveSplitBook":false,"seoBookName":"Hidden Legacy (The Lost Luna)","read":false,"chapterResourceUrl":"Book-1-The-Lost-Luna-Ch-1-Where-It-All-Started_3086852","inLibrary":false,"bookResourceUrl":"Hidden-Legacy-The-Lost-Luna_31000381400","viewCountDisplay":"84.9K","lastUpdateTimeDisplay":"Completed","joinBookCurKeywordDisplay":"0","bookId":"31000381400"},{"bookName":"Bound by paper ","pseudonym":"Honey ","cover":"https:\u002F\u002Facf.goodnovel.com\u002Fbook\u002F202603\u002F45cd37cb1e487c1d4d120edf510b3e204b16c834a3031d9e6008d8e07c280025.jpg?v=1&p=1","ratings":0,"introduction":"On the eve of her engagement, Jade Moretti thought the worst thing she would face was cold feet.\nShe was wrong.\nWhen she walks into her fiancé’s penthouse, she finds him in bed with her step-sister.\nHumiliated and desperate, Jade runs to the only man who should protect her—her father.\nBut he chooses business over blood.\nWith her name dragged through scandal and her future destroyed overnight, Jade is forced into a world where power is the only currency that matters.\nThat is where she meets Killian Montclair.\nCold. Strategic. Untouchable.\nKillian doesn’t believe in love. He believes in control.\nAnd he offers Jade a deal that could save her… and ruin her.\nA contract marriage.\nNo feelings. No attachment. No mistakes.\nBut when Jade becomes a part of Killian’s life, she discovers he isn’t only fighting business rivals—he’s fighting ghosts, a ruthless ex, and a custody battle that could destroy everything he built.\nAnd the more Jade plays the role of wife… the more real it starts to feel.\nIn a marriage built on lies and contracts, Jade must decide:\nWill she remain bound by an agreement…\nor risk her heart for a man who was never meant to love?","chapterCount":103,"defaultChapterId":17231927,"defaultChapterName":"Betrayal","haveSplitBook":false,"seoBookName":"Bound by paper ","read":false,"chapterResourceUrl":"Betrayal_17231927","inLibrary":false,"bookResourceUrl":"Bound-by-paper_31001315858","viewCountDisplay":"1.3K","lastUpdateTimeDisplay":"Completed","joinBookCurKeywordDisplay":"0","bookId":"31001315858"},{"bookName":"Dark Journal ","pseudonym":"Tigrezz","cover":"https:\u002F\u002Facf.goodnovel.com\u002Fbook\u002F202605\u002F07cf728dd7641a3b5d94aac7f1d412c5fbaf81ad24d461e318e42841f8499c9c.jpg?v=1&p=1","ratings":0,"introduction":"Caelith has nothing worth taking.\r\nNo power. No secrets. Nothing anyone could possibly want.\r\nSo why is everyone coming for her?\r\nTwenty one years old, literature student, part time bookshop worker. Her life is unremarkable by every measurement that matters. Until a ritual group kidnaps her, a trained assassin is sent to finish the job, and something ancient and patient decides she is exactly who it has been looking for.\r\nThere is a journal. Older than recorded history. Wanted by everyone and understood by no one.\r\nAnd Caelith is the key to finding it. Even though nobody asked her.\r\nNow she is navigating a world she was never supposed to know existed. With a former assassin bound to her by a blood deal. A best friend who doesn't remember the night that changed everything. A boy who has known something was different about her since day one and chose to stay anyway. And a stranger who saved her life and disappeared before she could get a single answer out of him.\r\nThe deeper she goes the bigger it gets.\r\nAnd she is only just beginning.\r\nSome journals don't record history.\r\nThey create it.","chapterCount":81,"defaultChapterId":18968078,"defaultChapterName":"Chapter 1\nThe Girl Who Shouldn't Matter\nWhy is she being watched… when she has nothing?","haveSplitBook":false,"seoBookName":"Dark Journal ","read":false,"chapterResourceUrl":"Chapter-1-The-Girl-Who-Shouldn-t-Matter-Why-is-she-being-watched-when-she-has-nothing_18968078","inLibrary":false,"bookResourceUrl":"Dark-Journal_31001405499","viewCountDisplay":"543","lastUpdateTimeDisplay":"Completed","joinBookCurKeywordDisplay":"0","bookId":"31001405499"}],"recommendTag":[{"id":29696,"keyword":"Romance Novel Recommendation","keywordFormat":"romance-novel-recommendation","language":"ENGLISH"},{"id":379483,"keyword":"Did George Crabtree Die In Murdoch Mysteries","keywordFormat":"did-george-crabtree-die-in-murdoch-mysteries","language":"ENGLISH"},{"id":32264,"keyword":"Lyrics Count On Me","keywordFormat":"lyrics-count-on-me","language":"ENGLISH"},{"id":30918,"keyword":"Books Online Free Download Pdf","keywordFormat":"books-online-free-download-pdf","language":"ENGLISH"},{"id":14456,"keyword":"How To Quit Vim Editor","keywordFormat":"how-to-quit-vim-editor","language":"ENGLISH"},{"id":38378,"keyword":"Chord Just The Way You Are","keywordFormat":"chord-just-the-way-you-are","language":"ENGLISH"},{"id":51933,"keyword":"Plex","keywordFormat":"plex","language":"ENGLISH"},{"id":545763,"keyword":"Japanese Tales Of Mystery And Imagination","keywordFormat":"japanese-tales-of-mystery-and-imagination","language":"ENGLISH"},{"id":7666,"keyword":"Annie Bot","keywordFormat":"annie-bot","language":"ENGLISH"},{"id":379366,"keyword":"Anime Like Guilty Crown","keywordFormat":"anime-like-guilty-crown","language":"ENGLISH"},{"id":252614,"keyword":"The Dream Of The Rood: An Old English Poem Attributed To Cynewulf","keywordFormat":"the-dream-of-the-rood-an-old-english-poem-attributed-to-cynewulf","language":"ENGLISH"},{"id":43550,"keyword":"PocketBook Reader","keywordFormat":"pocketbook-reader","language":"ENGLISH"},{"id":379349,"keyword":"Scooby Doo Ice Cream Ghosts","keywordFormat":"scooby-doo-ice-cream-ghosts","language":"ENGLISH"},{"id":379454,"keyword":"Predator Vs Alien","keywordFormat":"predator-vs-alien","language":"ENGLISH"},{"id":101620,"keyword":"The Bully's Mate","keywordFormat":"the-bully-s-mate","language":"ENGLISH"},{"id":2759,"keyword":"Black Clover Fanfiction","keywordFormat":"black-clover-fanfiction","language":"ENGLISH"},{"id":546320,"keyword":"Kindle Audio Books Free With Prime","keywordFormat":"kindle-audio-books-free-with-prime","language":"ENGLISH"},{"id":33890,"keyword":"Heart Warm","keywordFormat":"heart-warm","language":"ENGLISH"},{"id":379390,"keyword":"Black Humor Jokes","keywordFormat":"black-humor-jokes","language":"ENGLISH"},{"id":379437,"keyword":"Rolling And The Deep Lyrics","keywordFormat":"rolling-and-the-deep-lyrics","language":"ENGLISH"},{"id":546290,"keyword":"Karen Kingsbury A Baxter Family Christmas","keywordFormat":"karen-kingsbury-a-baxter-family-christmas","language":"ENGLISH"},{"id":546281,"keyword":"Kane And Abel Book Summary","keywordFormat":"kane-and-abel-book-summary","language":"ENGLISH"},{"id":379383,"keyword":"Splinter Teenage Mutant","keywordFormat":"splinter-teenage-mutant","language":"ENGLISH"},{"id":7261,"keyword":"Children Of Blood And Bone","keywordFormat":"children-of-blood-and-bone","language":"ENGLISH"},{"id":9610,"keyword":"Wait For It","keywordFormat":"wait-for-it","language":"ENGLISH"},{"id":379485,"keyword":"Ryuki Cupid Parasite","keywordFormat":"ryuki-cupid-parasite","language":"ENGLISH"},{"id":379394,"keyword":"Squid Games Train Station","keywordFormat":"squid-games-train-station","language":"ENGLISH"},{"id":33127,"keyword":"Best Song Ever One Direction Lyrics","keywordFormat":"best-song-ever-one-direction-lyrics","language":"ENGLISH"},{"id":10530,"keyword":"Radiance","keywordFormat":"radiance","language":"ENGLISH"},{"id":546223,"keyword":"Kaguya Sama Love Is War Fanfic","keywordFormat":"kaguya-sama-love-is-war-fanfic","language":"ENGLISH"}],"relatedQATag":[{"keyword":"View Metadata Of Pdf","keywordFormat":"view-metadata-of-pdf","language":"ENGLISH"},{"keyword":"Pdf Extract Text Python","keywordFormat":"pdf-extract-text-python","language":"ENGLISH"},{"keyword":"Python Library For Pdf","keywordFormat":"python-library-for-pdf","language":"ENGLISH"},{"keyword":"Pdf For Python Programming","keywordFormat":"pdf-for-python-programming","language":"ENGLISH"},{"keyword":"Extract Pdf Text","keywordFormat":"extract-pdf-text","language":"ENGLISH"},{"keyword":"Extract Text From Pdf Document","keywordFormat":"extract-text-from-pdf-document","language":"ENGLISH"},{"keyword":"Change Pdf Metadata Online","keywordFormat":"change-pdf-metadata-online","language":"ENGLISH"},{"keyword":"Python Pdfs","keywordFormat":"python-pdfs","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":[]},"CommentManage":{"commentList":[],"total":0,"pageNo":1,"pageSize":20,"bookList":[],"unreadCount":0,"commentDetail":null,"replyList":[],"replyTotal":0},"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://www.goodnovel.com/pcdist/manifest.24a911e9e007e0adf1fa.js" defer></script><script src="https://www.goodnovel.com/pcdist/vendor.344b389fee5f9e458bd2.js" defer></script><script src="https://www.goodnovel.com/pcdist/app.e721ba656dd92c3de42e.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>