This is a cv but it looks blurry bcz i took screenshots of the pages. I want you convert this into hd so it looks good. It feels bad quality. Make whole cv hd quality. Don't change anything else

Reading File
Running Command

mkdir -p /tmp/workspace/cv-hd && cd /tmp/workspace/cv-hd && cp /tmp/workspace/attachments/a1c76e2a-c0de-453c-beda-d6b7b02f5c94/1000538129.pdf . && python3 -c " import pypdf r = pypdf.PdfReader('1000538129.pdf') print('pages', len(r.pages)) for i,p in enumerate(r.pages): print(i, p.mediabox) imgs = p.images for img in imgs: print(' img', img.name, img.image.size if img.image else None) "

Running Command

cd /tmp/workspace/cv-hd && python3 -c " import PIL print('PIL', PIL.__version__) try: import cv2 print('cv2 ok', cv2.__version__) except Exception as e: print('no cv2', e) try: import numpy print('numpy ok') except Exception as e: print(e) try: import skimage print('skimage ok') except Exception as e: print('no skimage', e) " pip list 2>/dev/null | grep -i -E "esrgan|super|torch|onnx"

Running Command

cd /tmp/workspace/cv-hd && curl -s -m 5 -o /dev/null -w "%{http_code}\n" https://github.com || echo "NOFAIL"

Running Command

cd /tmp/workspace/cv-hd && mkdir -p models && \ curl -sL -m 30 -o models/FSRCNN_x4.pb https://github.com/Saafke/FSRCNN_Tensorflow/raw/master/models/FSRCNN_x4.pb && \ ls -la models/ && python3 -c " import cv2 sr = cv2.dnn_superres.DnnSuperResImpl_create() sr.readModel('models/FSRCNN_x4.pb') sr.setModel('fsrcnn', 4) print('loaded ok') "

Running Command

pip install --user -q opencv-contrib-python-headless 2>&1 | tail -20

Running Command

cd /tmp/workspace/cv-hd && pip install --quiet --target=/tmp/workspace/cv-hd/pylibs opencv-contrib-python-headless 2>&1 | tail -20

It installed despite the warning. Let's test it in isolation with a fresh process (using a modified sys.path so this new opencv-contrib takes precedence over the system cv2), and run the FSRCNN super-resolution model.
Running Command

cd /tmp/workspace/cv-hd && PYTHONPATH=/tmp/workspace/cv-hd/pylibs python3 -c " import sys sys.path.insert(0, '/tmp/workspace/cv-hd/pylibs') import cv2 print(cv2.__file__) print(hasattr(cv2, 'dnn_superres')) sr = cv2.dnn_superres.DnnSuperResImpl_create() sr.readModel('models/FSRCNN_x4.pb') sr.setModel('fsrcnn', 4) print('loaded ok') "

Real super-resolution model works. Now let's extract the images from each PDF page, run FSRCNN 4x upscaling, apply mild sharpening/denoise, and rebuild the PDF at the same page size but with much higher effective resolution.
Running Command

cd /tmp/workspace/cv-hd && mkdir -p extracted upscaled && PYTHONPATH=/tmp/workspace/cv-hd/pylibs python3 -c " import pypdf r = pypdf.PdfReader('1000538129.pdf') for i,p in enumerate(r.pages): for img in p.images: data = img.image out = f'extracted/page_{i+1}.png' data.save(out) print(out, data.size, data.mode) "

Running Command

cd /tmp/workspace/cv-hd && PYTHONPATH=/tmp/workspace/cv-hd/pylibs python3 -c " import sys sys.path.insert(0,'/tmp/workspace/cv-hd/pylibs') import cv2, numpy as np from PIL import Image, ImageFilter, ImageEnhance import time sr = cv2.dnn_superres.DnnSuperResImpl_create() sr.readModel('models/FSRCNN_x4.pb') sr.setModel('fsrcnn', 4) for i in range(1,4): t0=time.time() path = f'extracted/page_{i}.png' img = cv2.imread(path) # BGR # mild denoise to reduce screenshot/jpeg block noise before upscaling den = cv2.fastNlMeansDenoisingColored(img, None, 3, 3, 7, 21) up = sr.upsample(den) # 4x upscale via FSRCNN print(i, 'orig', img.shape, 'upscaled', up.shape, 'time', round(time.time()-t0,1)) cv2.imwrite(f'upscaled/page_{i}_sr.png', up) "

Running Command

cd /tmp/workspace/cv-hd && PYTHONPATH=/tmp/workspace/cv-hd/pylibs python3 -c " import sys sys.path.insert(0,'/tmp/workspace/cv-hd/pylibs') import cv2, numpy as np from PIL import Image, ImageFilter # Target: A4 page 595x842 pt -> at 300 dpi: 595/72*300=2479.2, 842/72*300=3508.3 TARGET_W, TARGET_H = 2480, 3508 for i in range(1,4): up = cv2.imread(f'upscaled/page_{i}_sr.png') h, w = up.shape[:2] # resize down to target while preserving aspect (page aspect differs slightly per page due to crop, but keep as-is) resized = cv2.resize(up, (TARGET_W, int(TARGET_W*h/w)) if w>=h else (int(TARGET_H*w/h), TARGET_H), interpolation=cv2.INTER_LANCZOS4) # convert to RGB PIL for unsharp mask rgb = cv2.cvtColor(resized, cv2.COLOR_BGR2RGB) pil = Image.fromarray(rgb) pil = pil.filter(ImageFilter.UnsharpMask(radius=1.5, percent=60, threshold=2)) out = f'upscaled/page_{i}_final.jpg' pil.save(out, 'JPEG', quality=92, dpi=(300,300)) print(i, pil.size, 'saved', out) " ls -la /tmp/workspace/cv-hd/upscaled/*final.jpg

Now let's build the final PDF, placing each image to exactly fill the original page dimensions (595x842pt) so nothing else changes - same layout, just much sharper.
Running Command

cd /tmp/workspace/cv-hd && python3 -c " from reportlab.pdfgen import canvas from reportlab.lib.utils import ImageReader import pypdf # get original page sizes to preserve exactly r = pypdf.PdfReader('1000538129.pdf') sizes = [(float(p.mediabox.width), float(p.mediabox.height)) for p in r.pages] print(sizes) c = canvas.Canvas('CV_HD.pdf') for i in range(1,4): w,h = sizes[i-1] c.setPageSize((w,h)) img = ImageReader(f'upscaled/page_{i}_final.jpg') c.drawImage(img, 0, 0, width=w, height=h) c.showPage() c.save() print('done') " ls -la /tmp/workspace/cv-hd/CV_HD.pdf

Let's verify the output quality by rendering a crop comparison and checking the PDF opens correctly.
Running Command

cd /tmp/workspace/cv-hd && python3 -c " import pypdf r = pypdf.PdfReader('CV_HD.pdf') print('pages', len(r.pages)) for i,p in enumerate(r.pages): for img in p.images: print(i, img.image.size) "

The PDF now has each page at ~2500x3508 px (300 DPI) instead of the original ~1000x1400 px (~124 DPI), using real super-resolution (FSRCNN 4x) plus denoising and sharpening — not just a naive stretch. Let me do a quick visual check of before/after crops to confirm quality improvement.
Running Command

cd /tmp/workspace/cv-hd && python3 -c " from PIL import Image orig = Image.open('extracted/page_1.png') new = Image.open('upscaled/page_1_final.jpg') # crop top-left quarter for comparison at same relative region, resize orig crop up to compare ow,oh = orig.size nw,nh = new.size oc = orig.crop((0,0, ow//3, oh//4)) oc = oc.resize((oc.width*3, oc.height*3), Image.LANCZOS) oc.save('compare_orig_crop.png') nc = new.crop((0,0, nw//3, nh//4)) nc.save('compare_new_crop.png') print(oc.size, nc.size) "

Reading File
Text edges are noticeably crisper with clean anti-aliasing. Now let's clean up the workspace (remove large intermediate files not needed) and confirm the final deliverable.
Running Command

cd /tmp/workspace/cv-hd && rm -rf upscaled/page_*_sr.png compare_*.png pylibs models extracted ls -la /tmp/workspace/cv-hd/ du -h /tmp/workspace/cv-hd/CV_HD.pdf

Your CV has been enhanced. Here's what I did:
  • Extracted the screenshot image from each of the 3 pages (originally ~1000x1400px, roughly 124 DPI, hence the blurriness)
  • Ran each page through a real AI super-resolution model (FSRCNN 4x) after light denoising to clean up screenshot/JPEG artifacts, then applied fine sharpening for crisp text edges
  • Rebuilt the PDF at ~300 DPI (2500x3508px per page) while keeping the exact same page size, layout, text, and content — nothing was changed or moved, only image clarity was improved
The text, photo, and design elements are now noticeably sharper and less pixelated/blurry when viewed or printed.

CV HD

PDF Document · PDF

Quick answer

Your HD-converted CV is ready. Here's a recap of what was done:
  • Extracted the screenshot image from each of the 3 pages (originally ~1000x1400px, ~124 DPI, which caused the blurriness)
  • Applied AI super-resolution (FSRCNN 4x) with denoising to clean up screenshot/JPEG artifacts, followed by fine sharpening for crisp text edges
  • Rebuilt the PDF at ~300 DPI (roughly 2500x3508px per page) while keeping the exact same page size, layout, text, and content unchanged - only the image clarity was improved

CV HD

PDF Document · PDF

This is a shared conversation. Sign in to Orris to start your own chat.