ڈاؤن لوڈز

آخری بار اپ ڈیٹ: 26 اکتوبر، 2026

یہ ترجمہ ہے۔ اگر یہ انگریزی ورژن سے مختلف ہو تو انگریزی ورژن ہی لاگو ہو گا۔

یہاں سب کچھ مفت ہے۔ آپ کی فائلیں ویب سائٹ کی طرح آپ کی ڈیوائس پر رہتی ہیں: کچھ بھی اپ لوڈ نہیں ہوتا۔

Google Chrome™ کے لیے PDF and Photo

ہماری ایکسٹینشن Chrome میں آپ کی کھولی گئی PDF فائلیں ہمارے ویوور میں دکھاتی ہے، جہاں "بھریں اور دستخط کریں"، "کمپریس کریں" اور ہر دوسرا PDF ٹول ایک کلک کی دوری پر ہے۔ یہ کچھ بھی جمع نہیں کرتی۔

Chrome میں شامل کریں

ایک قدم جو صرف آپ اٹھا سکتے ہیں: Chrome کسی ایکسٹینشن کو آپ کے کمپیوٹر پر محفوظ PDF فائلیں (ای میل اٹیچمنٹس، ڈاؤن لوڈز) صرف آپ کی اجازت کے بعد کھولنے دیتا ہے۔ اس کے بغیر یہ PDF فائلیں Chrome کے اپنے ویوور میں کھلتی ہیں۔

  1. Chrome کے ایڈریس بار میں chrome://extensions ٹائپ کریں اور Enter دبائیں۔
  2. PDF and Photo کارڈ پر Details پر کلک کریں۔
  3. Allow access to file URLs آن کریں۔

PDF and Photo کو اپنے کمپیوٹر کی PDF ایپ بنائیں

پھر آپ کے کمپیوٹر کی PDF فائلیں ڈبل کلک کرنے پر PDF and Photo میں کھلیں گی، آپ کی ای میل سے بھی، اور ٹولز ایک کلک کی دوری پر ہوں گے۔ کوئی پروگرام خود کو PDF ایپ نہیں بنا سکتا: Windows اور macOS یہ انتخاب صرف آپ کو، دو مراحل میں، کرنے دیتے ہیں۔

  1. PDF and Photo کو ایپ کے طور پر شامل کریں۔ اپنے کمپیوٹر پر Chrome یا Edge میں PDF ویوور کھولیں اور ایپ کے طور پر شامل کریں پر کلک کریں (یا ایڈریس بار کے دائیں سرے پر انسٹال بٹن، پھر Install)۔
  2. اسے اپنی PDF ایپ کے طور پر چنیں۔
    • Windows 11 اور 10: کسی بھی PDF پر رائٹ کلک کریں، Open with چنیں، پھر Choose another app۔ PDF and Photo چنیں اور Always پر کلک کریں (Windows 10 پر Always use this app to open .pdf files پر ٹک کریں، پھر OK پر کلک کریں)۔ یا Settings، Apps، Default apps کھولیں، Set a default for a file type or link type والے باکس میں .pdf ٹائپ کریں، اس کے نیچے دکھائی گئی ایپ پر کلک کریں، PDF and Photo چنیں اور Set default پر کلک کریں۔
    • Mac: Finder میں کسی بھی PDF پر Control دبا کر کلک کریں اور Get Info چنیں۔ Open with کے نیچے PDF and Photo چنیں، پھر Change All… اور Continue پر کلک کریں۔

Windows کے لیے PDF and Photo: Outlook اور File Explorer میں PDF کا پیش منظر

Outlook کا ریڈنگ پین اور File Explorer کا پیش منظر پین PDF فائلیں Windows کے ایک چھوٹے حصے کے ذریعے دکھاتے ہیں جسے preview handler کہتے ہیں۔ کوئی ویب سائٹ یا آپ کے براؤزر میں چلنے والی ایپ اسے شامل نہیں کر سکتی۔ جب کوئی PDF پروگرام جس نے اسے سیٹ کیا تھا ہٹا دیا جائے تو Outlook کہتا ہے "This file cannot be previewed because there is no previewer installed for it"۔

یہ چھوٹا سا ڈاؤن لوڈ اسے ٹھیک کرتا ہے، اور آپ کی PDF فائلوں پر PDF and Photo کا آئیکن لگا دیتا ہے:

Windows کے لیے PDF and Photo ڈاؤن لوڈ کریں

Windows 10 اور 11 کے لیے 38 KB کی zip فائل۔ اس کا SHA-256 فنگر پرنٹ: 9263314f49f5a993fd9c8ecc9f1879b4fca13ae795ec197f448151f8dcb49a5c

  1. zip فائل پر رائٹ کلک کریں اور "Extract All…" چنیں۔
  2. فولڈر میں "Set up PDF and Photo on Windows.cmd" پر ڈبل کلک کریں۔
  3. Windows انٹرنیٹ سے آنے والی ان فائلوں کو چیک کرتا ہے جنہیں وہ ابھی نہیں جانتا۔ اگر یہ Windows protected your PC دکھائے تو More info پر، پھر Run anyway پر کلک کریں۔
  4. Outlook بند کر کے دوبارہ کھولیں، پھر کسی PDF اٹیچمنٹ پر ایک بار کلک کریں۔ File Explorer میں پیش منظر کا پین دکھانے کے لیے Alt+P دبائیں۔
اسکرپٹس چلانے سے پہلے ان کی ہر لائن پڑھیں

ڈاؤن لوڈ میں یہ اسکرپٹس سادہ متن میں ہیں (ps1 فائلیں Notepad میں کھولیں)، ساتھ ہی انہیں چلانے والے دو بٹن، ایک ایسی جانچ جو کچھ تبدیل نہیں کرتی ("PDF check.cmd")، آئیکن اور ایک مختصر read-me۔

set-pdf-preview.ps1

# PDF and Photo: PDF previews in Outlook and File Explorer on Windows (26 October 2026).
#
# Why this is needed: Outlook's reading pane and File Explorer's preview pane draw a PDF with a Windows
# "preview handler" registered for PDF files. A website, an installed web app (like PDF and Photo) or a
# Chrome extension can't add one. When a PDF program that had set its own previewer is removed (Adobe
# Acrobat, for example), PDF files are often left with no previewer at all, and Outlook says "This file
# cannot be previewed because there is no previewer installed for it".
#
# What this does, for your Windows account only (no administrator needed):
#   1. checks that the "Microsoft PDF Previewer" that Microsoft Edge installs (and keeps up to date) is on
#      this computer, and that its file is really there;
#   2. if PDF files already have a working previewer (from Adobe, Foxit, Edge or another program), changes
#      nothing and says which one;
#   3. otherwise sets that previewer for PDF files under HKEY_CURRENT_USER\Software\Classes\.pdf, and
#      notes under HKEY_CURRENT_USER\Software\PDFandPhoto that it did, so the undo removes only its own change.
# Nothing else is changed. It doesn't change which program opens PDF files.
# To undo: run this with -Undo ("Undo PDF and Photo set-up.cmd" does): it removes the setting again, only if it is
# still the one this set.

param([switch]$Undo)
$ErrorActionPreference = 'Stop'

$previewKey = 'ShellEx\{8895b1c6-b41f-4c1c-a562-0d564250836f}'   # Windows' fixed name for "preview handler"
$edgePreviewer = '{3A84F9C2-6164-485C-A7D9-4B27F8AC009E}'         # "Microsoft PDF Previewer", installed by Edge
$userKey = "Registry::HKEY_CURRENT_USER\Software\Classes\.pdf\$previewKey"
$markKey = 'Registry::HKEY_CURRENT_USER\Software\PDFandPhoto'
$markName = 'PdfPreviewSet'

function Read-Default([string]$path) {
  try { return (Get-ItemProperty -LiteralPath "Registry::$path" -ErrorAction Stop).'(default)' } catch { return $null }
}
function Handler-File([string]$clsid) {
  # The file a preview handler runs from, or $null when it isn't registered or the file is gone.
  if (-not $clsid) { return $null }
  $dll = Read-Default "HKEY_CLASSES_ROOT\CLSID\$clsid\InProcServer32"
  if (-not $dll) { return $null }
  $dll = [Environment]::ExpandEnvironmentVariables($dll.Trim('"'))
  if (Test-Path -LiteralPath $dll) { return $dll } else { return $null }
}
function Handler-Name([string]$clsid) {
  $n = Read-Default "HKEY_CLASSES_ROOT\CLSID\$clsid"
  if ($n) { return $n } else { return $clsid }
}
function Tell-Windows {
  # "File types changed": Explorer reads the PDF settings again. Outlook reads them when it starts.
  try {
    Add-Type -Namespace PdfAndPhoto -Name Shell2 -MemberDefinition '[System.Runtime.InteropServices.DllImport("shell32.dll")] public static extern void SHChangeNotify(int wEventId, uint uFlags, System.IntPtr dwItem1, System.IntPtr dwItem2);'
    [PdfAndPhoto.Shell2]::SHChangeNotify(0x08000000, 0x1000, [System.IntPtr]::Zero, [System.IntPtr]::Zero)
  } catch { }
}

$mark = $null
try { $mark = (Get-ItemProperty -LiteralPath $markKey -ErrorAction Stop).$markName } catch { }

if ($Undo) {
  $now = $null
  try { $now = (Get-ItemProperty -LiteralPath $userKey -ErrorAction Stop).'(default)' } catch { }
  if ($mark -and $now -eq $mark) {
    Remove-Item -LiteralPath $userKey -Force
    Write-Host 'Done: the PDF previewer setting made by PDF and Photo was removed.'
  } elseif ($now) {
    Write-Host "PDF files have a previewer setting that PDF and Photo didn't make ($(Handler-Name $now)), so it was left as it is."
  } else {
    Write-Host 'There was nothing to undo.'
  }
  if ($mark) { Remove-ItemProperty -LiteralPath $markKey -Name $markName -ErrorAction SilentlyContinue }
  if (Test-Path -LiteralPath $markKey) {
    $left = (Get-Item -LiteralPath $markKey).GetValueNames().Count + @(Get-ChildItem -LiteralPath $markKey).Count
    if ($left -eq 0) { Remove-Item -LiteralPath $markKey -Force }
  }
  Tell-Windows
  Write-Host 'Close Outlook and open it again for the change to show there.'
  exit 0
}

# 1. The previewer we would use.
$edgeFile = Handler-File $edgePreviewer
if (-not $edgeFile) {
  Write-Host "The Microsoft PDF Previewer that Microsoft Edge installs isn't on this computer, so nothing was changed."
  Write-Host 'Updating Microsoft Edge (open Edge, then Settings, About Microsoft Edge) usually installs it. Then run this again.'
  exit 1
}

# 2. Does PDF already have a working previewer? Windows looks at the program that opens PDF files first,
#    then at .pdf itself.
$choice = $null
foreach ($sub in 'UserChoiceLatest\ProgId', 'UserChoiceLatest', 'UserChoice') {
  if ($choice) { break }
  try { $choice = (Get-ItemProperty -LiteralPath "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf\$sub" -ErrorAction Stop).ProgId } catch { }
}
$fromProgram = if ($choice) { Read-Default "HKEY_CLASSES_ROOT\$choice\$previewKey" } else { $null }
$fromPdf = Read-Default "HKEY_CLASSES_ROOT\.pdf\$previewKey"

if ($fromProgram -and (Handler-File $fromProgram)) {
  Write-Host "PDF files already have a working previewer: $(Handler-Name $fromProgram) (set by the program that opens PDF files). Nothing was changed."
  exit 0
}
if ($fromPdf -and ($fromPdf -ne $mark) -and (Handler-File $fromPdf)) {
  Write-Host "PDF files already have a working previewer: $(Handler-Name $fromPdf). Nothing was changed."
  exit 0
}
if ($fromProgram -and -not (Handler-File $fromProgram)) {
  Write-Host "Note: the program that opens PDF files ($choice) names a previewer that isn't on this computer any more."
  Write-Host 'Windows may try that one first. If previews still don''t show after this, choose PDF and Photo as your PDF app.'
}

# 3. Set the Microsoft PDF Previewer for PDF files, for this Windows account.
if (-not (Test-Path -LiteralPath $userKey)) { New-Item -Path $userKey -Force | Out-Null }
Set-ItemProperty -LiteralPath $userKey -Name '(default)' -Value $edgePreviewer
if (-not (Test-Path -LiteralPath $markKey)) { New-Item -Path $markKey -Force | Out-Null }
Set-ItemProperty -LiteralPath $markKey -Name $markName -Value $edgePreviewer
Tell-Windows

Write-Host 'Done. PDF files now use the Microsoft PDF Previewer for previews.'
Write-Host 'Close Outlook and open it again, then click a PDF attachment once: it shows in the reading pane.'
Write-Host 'In File Explorer, press Alt+P to show the preview pane, then click a PDF once.'

set-pdf-icon.ps1

# PDF and Photo: puts the PDF and Photo icon on PDF files in File Explorer (25 October 2026).
#
# Why this is needed: Chrome registers the installed PDF and Photo app as a program for PDF files, but it
# gives Windows no icon for the files themselves (its registry entry has no "DefaultIcon"), so File Explorer
# shows a blank page on every PDF. Nothing on the website can change that.
#
# What this does, for your Windows account only:
#   1. copies the icon to AppData\Local\PDFandPhoto\pdf-file.ico in your user folder;
#   2. adds that icon ("DefaultIcon") to PDF and Photo's own entry under HKEY_CURRENT_USER\Software\Classes;
#   3. tells File Explorer to redraw its icons.
# Nothing else is changed. If the app is ever reinstalled, Chrome rewrites its entry: run this again.
# To undo: run this with -Undo ("Undo PDF and Photo set-up.cmd" does): it removes the icon entry and the icon file.

param([switch]$Undo)
$ErrorActionPreference = 'Stop'

$here = Split-Path -Parent $MyInvocation.MyCommand.Path
$destDir = Join-Path $env:LOCALAPPDATA 'PDFandPhoto'
$ico = Join-Path $destDir 'pdf-file.ico'
$classes = 'Registry::HKEY_CURRENT_USER\Software\Classes'

function Update-Icons {
  # Tells File Explorer to read the icons again. If Windows refuses, the change is still made: it shows after
  # pressing F5 in a folder, or after a restart.
  $told = $false
  try {
    Add-Type -Namespace PdfAndPhoto -Name Shell -MemberDefinition '[System.Runtime.InteropServices.DllImport("shell32.dll")] public static extern void SHChangeNotify(int wEventId, uint uFlags, System.IntPtr dwItem1, System.IntPtr dwItem2);'
    # SHCNE_ASSOCCHANGED, SHCNF_FLUSH: "file types changed", so Explorer reads the icons again.
    [PdfAndPhoto.Shell]::SHChangeNotify(0x08000000, 0x1000, [System.IntPtr]::Zero, [System.IntPtr]::Zero)
    $told = $true
  } catch { }
  $ie4 = Join-Path $env:SystemRoot 'System32\ie4uinit.exe'
  if (Test-Path -LiteralPath $ie4) { try { & $ie4 -show; $told = $true } catch { } }
  if (-not $told) { Write-Host "File Explorer couldn't be told to redraw its icons. Press F5 in a folder, or restart the PC once." }
}

# 1. Find PDF and Photo's entries. Chrome gives each one an "Application" key whose ApplicationName is the
#    app's name (Chrome adds the profile's name when the app is installed in more than one profile).
$progIds = New-Object System.Collections.Generic.List[string]
foreach ($k in Get-ChildItem -LiteralPath $classes -ErrorAction SilentlyContinue) {
  $name = $k.PSChildName
  if ($name.StartsWith('.')) { continue }
  $appKey = "$classes\$name\Application"
  if (Test-Path -LiteralPath $appKey) {
    $appName = $null
    try { $appName = (Get-ItemProperty -LiteralPath $appKey -ErrorAction Stop).ApplicationName } catch { }
    if ($appName -like 'PDF and Photo*') { $progIds.Add($name) }
  }
}

# The program Windows opens PDF files with now (newer Windows 11 versions keep it in "UserChoiceLatest").
$choice = $null
foreach ($sub in 'UserChoiceLatest\ProgId', 'UserChoiceLatest', 'UserChoice') {
  if ($choice) { break }
  try { $choice = (Get-ItemProperty -LiteralPath "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf\$sub" -ErrorAction Stop).ProgId } catch { }
}

if ($Undo) {
  # Removes the icon entry from PDF and Photo's entries (if the app is still installed) and the icon file.
  foreach ($p in $progIds) { Remove-Item -LiteralPath "$classes\$p\DefaultIcon" -Recurse -ErrorAction SilentlyContinue }
  if (Test-Path -LiteralPath $ico) { Remove-Item -LiteralPath $ico -Force }
  if ((Test-Path -LiteralPath $destDir) -and -not (Get-ChildItem -LiteralPath $destDir -Force)) { Remove-Item -LiteralPath $destDir -Force }
  Update-Icons
  Write-Host "Done: the PDF and Photo file icon was removed again ($($progIds.Count) entry or entries, and the icon file)."
  exit 0
}

if ($progIds.Count -eq 0) {
  Write-Host "PDF and Photo isn't installed as an app for PDF files on this computer, so there is nothing to change."
  if ($choice) { Write-Host "Windows opens PDF files with: $choice" }
  Write-Host "How to install it and make it your PDF app: https://pdfandphoto.com/downloads/#app . Then run this again."
  exit 1
}

# 2. The icon file, in a folder of your own that stays put.
New-Item -ItemType Directory -Force -Path $destDir | Out-Null
Copy-Item -LiteralPath (Join-Path $here 'pdf-and-photo-file.ico') -Destination $ico -Force

# 3. The icon entry on each PDF and Photo entry.
foreach ($p in $progIds) {
  $key = "$classes\$p\DefaultIcon"
  if (-not (Test-Path -LiteralPath $key)) { New-Item -Path "$classes\$p" -Name 'DefaultIcon' | Out-Null }
  Set-ItemProperty -LiteralPath $key -Name '(default)' -Value "$ico,0"
  Write-Host "Icon set on PDF and Photo's entry: $p"
}

Update-Icons

Write-Host ''
if ($choice -and -not $progIds.Contains($choice)) {
  Write-Host "Note: Windows doesn't open PDF files with PDF and Photo at the moment (it uses: $choice)."
  Write-Host "Right-click a PDF, Open with, Choose another app, pick PDF and Photo and click Always. The new icon then shows."
} else {
  Write-Host 'Done. Look at your PDF files in File Explorer: they now show the PDF and Photo icon.'
  Write-Host 'If a folder still shows the old icon, click in it and press F5. If it is still old, restart the PC once.'
}

Mac پر کچھ ڈاؤن لوڈ کرنے کی ضرورت نہیں: Finder اور Mail خود ہی PDF کا پیش منظر دکھاتے ہیں۔