التنزيلات
آخر تحديث: 26 أكتوبر 2026
هذه ترجمة. إذا اختلفت عن النسخة الإنجليزية، فالنسخة الإنجليزية هي المعتمدة.
كل ما هنا مجاني. تبقى ملفاتك على جهازك، كما في الموقع: لا يُرفع أي شيء.
PDF and Photo لـ Google Chrome™
تعرض إضافتنا ملفات PDF التي تفتحها في Chrome في عارضنا، مع «تعبئة وتوقيع» و«ضغط» وكل أدوات PDF الأخرى على بُعد نقرة واحدة. ولا تجمع أي بيانات.
خطوة واحدة لا يستطيع القيام بها غيرك: لا يسمح Chrome لإضافة بفتح ملفات PDF المحفوظة على حاسوبك (مرفقات البريد الإلكتروني والتنزيلات) إلا بعد أن تسمح لها بذلك. ودون ذلك، تُفتح تلك الملفات في عارض Chrome الخاص.
- في شريط عنوان Chrome، اكتب
chrome://extensionsواضغط Enter. - في بطاقة PDF and Photo، انقر التفاصيل.
- شغّل السماح بالوصول إلى عناوين URL للملفات.
اجعل PDF and Photo تطبيق PDF في حاسوبك
بعد ذلك تُفتح ملفات PDF الموجودة على حاسوبك في PDF and Photo عند النقر عليها نقرًا مزدوجًا، ومن بريدك الإلكتروني أيضًا، مع الأدوات على بُعد نقرة واحدة. لا يستطيع أي برنامج أن يجعل نفسه تطبيق PDF: لا يسمح Windows وmacOS باختياره إلا لك، في خطوتين.
- أضف PDF and Photo كتطبيق. افتح عارض PDF في Chrome أو Edge على حاسوبك وانقر إضافة كتطبيق (أو زر التثبيت في طرف شريط العنوان، ثم تثبيت).
- اختره كتطبيق PDF لديك.
- Windows 11 و10: انقر بزر الماوس الأيمن على أي ملف PDF، واختر فتح باستخدام، ثم اختيار تطبيق آخر. اختر PDF and Photo وانقر دائمًا (في Windows 10، حدّد استخدام هذا التطبيق دائمًا لفتح ملفات .pdf، ثم انقر موافق). أو افتح «الإعدادات» ثم «التطبيقات» ثم «التطبيقات الافتراضية»، واكتب
.pdfفي المربع تعيين الإعداد الافتراضي لنوع الملف أو نوع الارتباط، وانقر التطبيق المعروض تحته، واختر PDF and Photo وانقر تعيين الافتراضي. - Mac: في Finder، انقر على أي ملف PDF مع الضغط على Control واختر إحضار المعلومات. تحت فتح بواسطة، اختر PDF and Photo، ثم انقر تغيير الكل… ومتابعة.
- Windows 11 و10: انقر بزر الماوس الأيمن على أي ملف PDF، واختر فتح باستخدام، ثم اختيار تطبيق آخر. اختر PDF and Photo وانقر دائمًا (في Windows 10، حدّد استخدام هذا التطبيق دائمًا لفتح ملفات .pdf، ثم انقر موافق). أو افتح «الإعدادات» ثم «التطبيقات» ثم «التطبيقات الافتراضية»، واكتب
فتح التطبيقات الافتراضية في Windows
PDF and Photo لنظام Windows: معاينات PDF في Outlook ومستكشف الملفات
يعرض جزء القراءة في Outlook وجزء المعاينة في مستكشف الملفات ملفات PDF عبر جزء صغير من Windows يُسمّى معالج المعاينة (preview handler). ولا يستطيع موقع أو تطبيق في متصفحك إضافة واحد. وعند إزالة برنامج PDF كان قد أعدّ واحدًا، يقول Outlook «لا يمكن معاينة هذا الملف لعدم وجود معاين مثبّت له».
يصلح هذا التنزيل الصغير ذلك، ويضع أيقونة PDF and Photo على ملفات PDF لديك:
- يعيّن Microsoft PDF Previewer، الذي يثبّته Microsoft Edge ويحدّثه، لملفات PDF. أما المعاين الذي عيّنه برنامج آخر ويعمل، فيُترك كما هو.
- عندما يكون PDF and Photo تطبيق PDF لديك، يضيف أيقونتنا إلى ملفات PDF في مستكشف الملفات (لا يمنح Chrome نظام Windows أي أيقونة).
- لا يغيّر إلا حساب Windows الخاص بك. ولا يحتاج إلى صلاحيات المسؤول، ولا يثبّت أي شيء ولا يرسل أي شيء إلى أي مكان. ولا يغيّر البرنامج الذي يفتح ملفات PDF لديك.
- يتراجع «Undo PDF and Photo set-up.cmd»، الموجود في المجلد نفسه، عن التغييرين كليهما.
تنزيل PDF and Photo لنظام Windows
- انقر بزر الماوس الأيمن على ملف zip واختر «استخراج الكل…».
- في المجلد، انقر نقرًا مزدوجًا على «Set up PDF and Photo on Windows.cmd».
- يفحص Windows الملفات القادمة من الإنترنت التي لا يعرفها بعد. إذا عرض قام Windows بحماية الكمبيوتر، فانقر مزيد من المعلومات، ثم تشغيل على أي حال.
- أغلق Outlook وافتحه مجددًا، ثم انقر مرفق PDF مرة واحدة. وفي مستكشف الملفات، اضغط Alt+P لإظهار جزء المعاينة.
اقرأ كل سطر من البرامج النصية قبل تشغيلها
يحتوي التنزيل على هذه البرامج النصية كنص عادي (افتح ملفات .ps1 في المفكرة)، مع الزرين اللذين يشغّلانها، وفحص لا يغيّر شيئًا («PDF check.cmd»)، والأيقونة، وملف قصير للقراءة.
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 من تلقاء نفسيهما.