Unduhan

Terakhir diperbarui 26 Oktober 2026

Ini adalah terjemahan. Jika ada perbedaan dengan versi bahasa Inggris, yang berlaku adalah versi bahasa Inggris.

Semua yang ada di sini gratis. File Anda tetap di perangkat Anda, sama seperti di situs web: tidak ada yang diunggah.

PDF and Photo untuk Google Chrome™

Ekstensi kami menampilkan PDF yang Anda buka di Chrome di pembaca kami, dengan Isi & tanda tangani, Kompres, dan semua alat PDF lainnya hanya sejauh satu klik. Ekstensi ini tidak mengumpulkan data apa pun.

Tambahkan ke Chrome

Satu langkah yang hanya bisa Anda lakukan: Chrome hanya mengizinkan ekstensi membuka PDF yang tersimpan di komputer Anda (lampiran email, unduhan) setelah Anda mengizinkannya. Tanpa izin itu, PDF tersebut terbuka di pembaca PDF bawaan Chrome.

  1. Di bilah alamat Chrome, ketik chrome://extensions lalu tekan Enter.
  2. Di kartu PDF and Photo, klik Detail.
  3. Aktifkan Izinkan akses ke URL file.

Jadikan PDF and Photo aplikasi PDF utama di komputer Anda

Setelah itu, PDF di komputer Anda terbuka di PDF and Photo saat Anda mengkliknya dua kali, termasuk dari email Anda, dengan alat-alat yang hanya sejauh satu klik. Tidak ada program yang bisa menjadikan dirinya sendiri aplikasi PDF: Windows dan macOS hanya mengizinkan Anda yang memilihnya, dalam dua langkah.

  1. Tambahkan PDF and Photo sebagai aplikasi. Buka Pembaca PDF di Chrome atau Edge di komputer Anda, lalu klik Tambahkan sebagai aplikasi (atau tombol instal di ujung kanan bilah alamat, lalu Instal).
  2. Pilih sebagai aplikasi PDF Anda.
    • Windows 11 dan 10: klik kanan PDF mana saja, pilih Buka dengan, lalu Pilih aplikasi lain. Pilih PDF and Photo lalu klik Selalu (di Windows 10, centang Selalu gunakan aplikasi ini untuk membuka file .pdf, lalu klik OK). Atau buka Pengaturan, Aplikasi, Aplikasi default, ketik .pdf di kotak Atur default untuk jenis file atau jenis tautan, klik aplikasi yang muncul di bawahnya, pilih PDF and Photo, lalu klik Atur default.
    • Mac: di Finder, Control-klik PDF mana saja lalu pilih Dapatkan Info. Di bagian Buka dengan, pilih PDF and Photo, lalu klik Ubah Semua… dan Lanjutkan.

PDF and Photo untuk Windows: pratinjau PDF di Outlook dan File Explorer

Panel baca Outlook dan panel pratinjau File Explorer menampilkan PDF melalui komponen kecil Windows yang disebut penangan pratinjau (preview handler). Situs web atau aplikasi di browser Anda tidak bisa menambahkannya. Jika program PDF yang dulu memasangnya dihapus, Outlook menampilkan pesan “File ini tidak dapat dipratinjau karena tidak ada pratinjau yang terinstal untuk file ini”.

Unduhan kecil ini mengatasinya, sekaligus memasang ikon PDF and Photo pada file PDF Anda:

Unduh PDF and Photo untuk Windows

File ZIP berukuran 38 KB untuk Windows 10 dan 11. Sidik jari SHA-256-nya: 9263314f49f5a993fd9c8ecc9f1879b4fca13ae795ec197f448151f8dcb49a5c

  1. Klik kanan file ZIP, lalu pilih “Ekstrak Semua…”.
  2. Di folder tersebut, klik dua kali “Set up PDF and Photo on Windows.cmd”.
  3. Windows memeriksa file dari internet yang belum dikenalnya. Jika muncul Windows melindungi PC Anda, klik Info selengkapnya, lalu Tetap jalankan.
  4. Tutup Outlook lalu buka lagi, kemudian klik lampiran PDF satu kali. Di File Explorer, tekan Alt+P untuk menampilkan panel pratinjau.
Baca setiap baris skrip sebelum Anda menjalankannya

File unduhan ini berisi skrip-skrip tersebut dalam teks biasa (buka file .ps1 di Notepad), beserta dua tombol yang menjalankannya, pemeriksaan yang tidak mengubah apa pun (“PDF check.cmd”), ikonnya, dan file petunjuk singkat.

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.'
}

Di Mac tidak ada yang perlu diunduh: Finder dan Mail sudah menampilkan pratinjau PDF sendiri.