Xpdf - PDFdetach - Command Line Utility to Detach Attachments from PDF Files

Posted on
15,279 Points
4 Endorsements
Last Modified:
Community Pick: Many members of our community have endorsed this article.
Experience Level: Intermediate
Joe Winograd
50+ years in computers
CIO•Document Imaging
EE — FELLOW 2017
MVE 2015,2016,2018
RENOWNED 2018,2019
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable for use in batch files, programs, and scripts — any place where a command line call can be made.

Video Steps

1. Download the software.

You may have already downloaded and unzipped the Xpdf tools while watching the first video in the Xpdf series, but if you haven't, then visit the Xpdf website. Click the Download link and then click the pre-compiled Windows binary ZIP archive to download the utilities for Windows.


2. Locate the documentation folder for the Xpdf utilities.

Go to the folder where you unzipped the downloaded ZIP file and find the <doc> folder.


3. Read the documentation for the PDFdetach tool.

Go into the <doc> folder and find the plain text file called <pdfdetach.txt>.

Open it with any text editor, such as Notepad, and read it. This is the documentation for the PDFdetach tool.


4. Set up a test folder.

Create a test folder.

Copy <pdfdetach.exe> from the unzipped <bin32> folder into your test folder.

Copy a sample PDF file that has attachments into your test folder (in the video and the screenshots below, the file is called test.pdf, which is a PDF file created from my EE article, Windows 10 uses YOUR computer to help distribute itself, but with some attachments added to it).


5. Set up a command prompt for testing.

Open a command prompt window.

Navigate to your test folder.

Issue a DIR command in the command prompt to be sure that only two files are in it - the PDFdetach executable and the sample PDF file.


6. View and extract attachments in the test file using Adobe Acrobat or any PDF reader/viewer.

The exact technique depends on what PDF product you use, but, for example, in Adobe Acrobat and Adobe Reader, click the paper clip icon to open the Attachments pane, Select All of the attachments, then click the Save Attachment icon. The purpose of this step is simply to validate the existence of attachments in the test PDF file.


7. Issue DIR command to show that the files were extracted.

Run a DIR command to confirm that the files were extracted, but then delete them in preparation for using PDFdetach.


8. Run PDFdetach with the -list option.

Issue this command:

pdfdetach -list test.pdf

This will show a list of all the attachments in your test PDF file.


9. Run PDFdetach with the -saveall option.

Issue this command:

pdfdetach -saveall test.pdf

This will detach all the attachments in your test PDF file and save each one in a separate file. Issue a DIR command to show that PDFdetach was successful.

That's it! If you find this video to be helpful, please click the thumbs-up icon below. Thank you for watching!
  • 2
  • 2
LVL 33


Hi Joe,

Thanks for this info.
I haven't looked at the docs yet but... does pdfdetach just extract a copy of the attachments? Does it have a "remove attachments from PDF" option?
LVL 74

Author Comment

by:Joe Winograd
Aloha NewVillage,
You're welcome. It just extracts — does not have a "remove attachments" feature. A way to achieve that is to extract first with PDFdetach and then print the file to a PDF print driver. I tested three print drivers (Bullzip, CutePDF, doPDF) and all of them created a new PDF without the attachments — normally, I'd complain about that, but in this case, it's just what the doctor ordered. :)  However, those three print drivers all put up a GUI. You'll need to look elsewhere if you want a command line version, such as PDFCreator (from pdfforge) or bioPDF (the non-free version of Bullzip), but I didn't test either. Mahalo, Joe
LVL 33


Hi Joe...

> A way to achieve that is to extract first with PDFdetach and then print the file to a PDF print driver.

That would work for me. Thanks!

LVL 74

Author Comment

by:Joe Winograd
A`ole pilikia!
In configurations with multiple monitors, it can be difficult and time-consuming to move the mouse pointer to a particular monitor. This article presents a script written in AutoHotkey that defines hotkeys — such as Alt+Ctrl+1, Alt+Ctrl+2, etc. — to…
Data can be kept in different media, Sometimes, the data need to be extracted, transformed or loaded in different ways. For this article, I'm going to demonstrate an effective way to find the last line content of a large text file using VBA codes.

Keep in touch with Experts Exchange

Tech news and trends delivered to your inbox every month