Stamp collections – let's share some, fellow PDF-XChangers :=)  SOLVED

Forum for the PDF-XChange Editor - Free and Licensed Versions

Moderators: Daniel - PDF-XChange, PDF-XChange Support, Vasyl - PDF-XChange, Chris - PDF-XChange, Sean - PDF-XChange, Paul - PDF-XChange, Ivan - Tracker Software, Stefan - PDF-XChange

Post Reply
MedBooster
User
Posts: 1372
Joined: Mon Nov 15, 2021 8:38 pm

Stamp collections – let's share some, fellow PDF-XChangers :=)  SOLVED

Post by MedBooster »

Hello fellow PDF-XChangers :=)

I thought I would make this thread for us to share some stamp preset folders with each other :) After all it can be time-consuming to find beautiful icons to use :)
Most icons I use come from Flaticons which is free with attribution. You can find the creator by doing a reverse image search on the icon with Tineye for example (I might try and add specific attribution links later). I have modified some in Gimp
... and Paint 3D , until Microsoft removed it from Windows 10 and 11 for some reason (now in November), well more of a reason to get more familiar with Gimp... :)

I appreciate the free stamp collections PDF-XCE offers on this page... but there's not too many to choose from to be honest (team PDF-XCE, feel free to add more :))
https://www.pdf-xchange.com/stamp-collections

Let me start: ( I will change and add more as we go :) )
My 1st contribution 25.11.2024 –

Oh and feel free to upload the PNG file of the stamp as well in case it has a transparent background like these:
Blue 01 flaticon exclamation.png
Blue 1better-questionmark-png.png
The stamp collection file is attached↓↓↓
Dynamic date and time stamps:
MedBoosterDateStamps.pdf
(26.99 KiB) Downloaded 64 times
image(4).png
Simple and pretty question marks and exclamation marks
MedBoosterQuestionExclamation.pdf
(93.01 KiB) Downloaded 57 times
image(3).png

(if you open the PDF for the collection you can actually see the stamps in the files are images with transparent backgrounds:
image(2).png
Back up your settings and stamps beforehand to not lose anything, be careful when editing stamp PDFs :)

My notetaking color-coding system visualized: inspiration
image.png
PS:
1) feel free to add the #HeX color code to your favourite colors for stamps and comments as well :)
2) it's really a shame that you still can't save a fill/stroke color to stamps... viewtopic.php?t=41953&hilit=stamp+color
––– however, as an alternative we're waiting for a way to search for color (by stamp name) in the comments pane: viewtopic.php?t=44550
3) Question: is there a minimum limit of pixels a stamp can contain? The stamps I make tend to be a bit pixelated (see the attached screenshot), however it's not really visible if you don't make it too large, and uses less disk space I assume.
4) I would share my dynamic stamps too... but I'm not sure if you would be able to import them and retain the dynamic properties (current date, time, etc.) :
image(1).png
5) You can rename your stamp PDF, if you close PDF-XCE beforehand. (you might have to wait a minute as well) C:\Users\"username"\AppData\Roaming\Tracker Software\PDFXEditor\3.0\Stamps???
6) Feel free to come with ideas on how to best customize Dynamic stamps... Unfortunately, it seems like you have to actually copy over the stamp PDF to a location separate from PDF-XCE and then back, for the dynamic Javascript functions to still work. It is quite confusing.

I welcome any contribution, in any language! Don't be shy about sharing your stamp collections, but maybe stick to one post per person and edit it as you add more collections
Feel free to add a screenshot of the collection so that we can see what exact type of stamps we are downloading.


Instructions on how to share and download stamp collections:
https://www.pdf-xchange.com/knowledgeba ... ers-to-use
In short; press Win+R, paste this %appdata%\Tracker Software\PDFXEditor\3.0\Stamps, and you are brought to the folder for the current user stamp folder
and just paste or copy the stamp collections from here
Extra: Info on moving dynamic stamps: viewtopic.php?t=42084&hilit=combine+stamp
Maybe it would be smart to stick with one screenshot of the stamp collection and then rather a zipped folder with the PNGs, instead of pasting the images on their own lines or under attachment, to not have too long posts in the thread.

Icon attributions:
https://www.flaticon.com/free-icon/exclamation_10308693?term=exclamation&page=1&position=4&origin=search&related_id=10308693
https://www.flaticon.com/search?word=question

Related posts
Combining collections:
viewtopic.php?t=44644&sid=3c03583983634 ... 4181a4d202
Last edited by MedBooster on Sun Dec 01, 2024 8:16 am, edited 4 times in total.
My wishlist https://forum.pdf-xchange.com/viewtopic.php?p=187394#p187394
Disable SPACE page navigation, fix kb shortcut for highlighting advanced search tool search field, bookmarks with numbers, toolbar small icon size, AltGr/Ctrl+Alt keyboard issues
User avatar
PHK
User
Posts: 1394
Joined: Tue Nov 24, 2020 4:02 pm

Re: Stamp collections – let's share some, fellow PDF-XChangers :=)

Post by PHK »

@MedBooster is this attacment the sort of thing you would like to see shared?

Years.pdf
(87.76 KiB) Downloaded 100 times

If so, be my guest! Note the year pages can be bases for year stamps or have the page inserted into a file as a separator/organizer page.
All best,

FringePhil
MedBooster
User
Posts: 1372
Joined: Mon Nov 15, 2021 8:38 pm

Re: Stamp collections – let's share some, fellow PDF-XChangers :=)

Post by MedBooster »

Hello PHK, thanks for the stamp collection
Even if it isn't maybe it is for others. I myself don't really see why you would need sooo many stamps for years (100+ pages), I would prefer a javascript for something like this where you could select the year in a graphic user interface or something... Maybe Mathew the Javascript master has something like that.
PS: why the 3 empty pages in the beginning of the collection?

Anyway, if you have more stamp collections to share just add them to your post above :)
Answer in the post above too it's better to keep the amount of posts to a minimum in case more users decide to share, right? :)
My wishlist https://forum.pdf-xchange.com/viewtopic.php?p=187394#p187394
Disable SPACE page navigation, fix kb shortcut for highlighting advanced search tool search field, bookmarks with numbers, toolbar small icon size, AltGr/Ctrl+Alt keyboard issues
KD952
User
Posts: 109
Joined: Mon Feb 13, 2023 6:13 am

Re: Stamp collections – let's share some, fellow PDF-XChangers :=)

Post by KD952 »

Hello MedBooster!

In the linked post below I shared some dynamic stamps for numbering objects.
KD952 wrote: Thu Jul 25, 2024 4:57 am
I think it would help all users if we could get this topic pinned like "Mathew's PDF-XCE JavaScripts"

Kind regards,
Daniel
Mathew
User
Posts: 565
Joined: Thu Jun 19, 2014 7:30 pm

Re: Stamp collections – let's share some, fellow PDF-XChangers :=)

Post by Mathew »

:) I like this idea.

Here's a shop drawing review stamp - it has a dialog so that you can enter relevant information for the stamp before it's placed.
shop_stamps.pdf
(43.64 KiB) Downloaded 89 times
The script is linked to the calculate action of the "revw_rvBy" field. The script is customizable, but takes a bit of javascript knowledge to decipher.

Code: Select all

// get stamp id by selecting stamp and using this.selectedAnnots[0].AP
// Note that field name, particularly for the field that calls this script, must be unique to this stamp
//		The item_id for the dialog must be four characters, but the field name can be longer, so the script
//		has an option to add a prefix to the field names
// edit stampData for each form.
//	event_hdlr key is the item_id from the dialog for the onchange event
var stampData = { "#J1nDKAkSi46BqCFIN0P4n0" : {
	global: "ShopStamp_reviewed", // global variable name
	prefix: "revw_", // prefix for field name to add to the item_id from the dialog (so that field names can be unique to this stamp)
	global_defaults: { // default values for the dialog fields
			"date": util.printd("date.medium{}",new Date(),true),
			"rvBy": identity.name,
			"CoNm": "COMPANY NAME",
		},
	event_hdlr: { "URES": function(dialog) {
			var results = dialog.store();
			if (results["URES"] != "") {
				dialog.load( {"USR": true});
			}
		}},
	dialog_description: {
		name: "Shop Drawing",
		elements:
		[
			{
				type: "view",
				align_children: "align_left",
				elements:
				[
					{
						type: "cluster",
						name: "Shop Drawing Response",
						item_id:"SD_R",
						elements:
						[
							{
								type: "check_box",
								item_id: "NET",
								name: "No Exceptions Taken",
							},{
								type: "check_box",
								item_id: "MCN",
								name: "Make Corrections Noted",
							},{
								type: "check_box",
								item_id: "REJ",
								name: "Rejected",
							},{
								type: "check_box",
								item_id: "RR",
								name: "Resubmit",
							},{
								type: "check_box",
								item_id: "SSI",
								name: "Submit Specified Item",
							},{
								type: "view",
								align_children:"align_distribute",
								elements:
								[{
									type: "check_box",
									item_id: "USR",
									name: "",
									},{
									type: "edit_text",
									item_id: "URES",
									width: 200,
								}],
							},	
						],
						},{
						type: "cluster",
						name: "Company Name",
						elements:
							[ {
							type: "edit_text",
							name: "Company Name",
							item_id:"CoNm",
							height: 36,
							multiline: true,
							alignment: "align_fill" }
							]
						},{
						type: "cluster",
						align_children:"align_distribute",
						elements:
						[
							{ type: "static_text", 
								name: "Review Date:",
							},
							{ type: "edit_text",
								item_id: "date",
								width:150,
							},
						],
						},{
						type: "cluster",
						align_children:"align_distribute",
						elements:
						[
							{ type: "static_text", 
								name: "Reviewed By:",
							},
							{ type: "edit_text", 
								item_id: "rvBy", 
								width:150,
							},
						]
					},
					{
						type: "ok_cancel", cancel_name: "Leave Blank"
					}
				]
			}
		]
		},
	},
};

// This part should not need editing for different stamps. Maybe it could be stored in a javascript file instead?
// run stamp dialog only on insert
if ( event.source.forReal ) {
	// stampName is the key
	let tStamp = stampData[event.source.stampName];
	// undefined if no key for the stamp
	if ("undefined" != typeof tStamp) { // only runs for the stamp AP matching the key
	let StampDialog = {
		results: {},
		initialize: function(dialog) {
			// check for saved defaults
			//console.println("Saved data: "+global[global_var]);
			if (typeof global[tStamp.global] != 'undefined') {
				this.results = JSON.parse(global[tStamp.global]);
			}else{
				this.results = tStamp.global_defaults;
			}
			dialog.load(this.results);
		},
		commit: function(dialog) {
			// Retrieve the values stored in the form and save to results:			
			this.results = dialog.store();
		},
		// Dialog object descriptor (root node)
		description: tStamp.dialog_description,
	};
	// add event handlers to the stamp dialog
	for (let i in tStamp.event_hdlr) {
		StampDialog[i] = tStamp.event_hdlr[i];
	}
	// run the dialog
	let sr = app.execDialog(StampDialog);
	// get the stamp document
	let md = ("undefined" == typeof event.target.doc ? event.target : event.target.doc); //event.target.doc on bluebeam
	// try to update fields
	if ("ok"==sr && md) {
		// get dialog results
		let results = StampDialog.results;
		// to hold fields that exist in the stamp
		let saveData = {};
		for (let e in results) {
			// get the field from the form
			var fd = md.getField( tStamp.prefix + e ); // add prefix to field
			// field must have the same name as the dialog box field with prefix
			if (fd) {
				saveData[e] = results[e]; // save it
				switch(fd.type) {
					case "checkbox":
					case "radiobutton":
						fd.checkThisBox(0,results[e]);
						break;
					default:
						fd.value = results[e];
				}
			};
		};
		// save for next time it's run
		global[tStamp.global] = JSON.stringify(saveData);
	} else {
		// try to clear all fields in the form
		if (md) {
			for (let i = 0; i < md.numFields; i++) {
				// get the field from the form
				var fd = md.getField(md.getNthFieldName(i));
				if (fd) {
					switch(fd.type) {
						case "checkbox":
						case "radiobutton":
							fd.checkThisBox(0,false);
							break;
						default:
							fd.value = "";
					}
				}
			}
		//	md.resetForm;
		}
	}};
}

It's on my list to come up with a way to make stamp dialogs more easily customizable, but in the mean time to reuse the script:
  • Attach it to the calculation action of one of the fields in the stamp
  • You need to use the Stamp ID for your stamp on line 7 (ie replace #J1nDKAkSi46BqCFIN0P4n0 in the above script with the stamp id from your stamp)
  • Everything inside the stampData object is customizable
Customizing:
  • global this is the global variable name that you want to store previous responses to the dialog
    prefix Because field names must be unique in the whole file (ie stamp collection), this prefix is added onto the front of the four letter item_id in the dialog to make the field name. ie. If the prefix is "revw_" and in the dialog_description below you have item_id: "CoNm" then the field name on the stamp would be "revw_CoNm".
    global_defaults this is an object with key matching the item_id in the dialog_description
    event_hdlr this is an object with key matching the item_id in the dialog description for functions to run when those fields change
    dialog_description this matches the custom dialog description described in the javascript API for app.execDialog() https://opensource.adobe.com/dc-acrobat-sdk-docs/library/jsapiref/JS_API_AcroJS.html#execdialog
User avatar
PHK
User
Posts: 1394
Joined: Tue Nov 24, 2020 4:02 pm

Re: Stamp collections – let's share some, fellow PDF-XChangers :=)

Post by PHK »

MedBooster wrote: Mon Nov 25, 2024 6:47 pm ...
Even if it isn't maybe it is for others. I myself don't really see why you would need sooo many stamps for years (100+ pages),
I guess I am taking the long view. I have 'stuff' that goes back to the 1990s (to account for one end of the range) and I guess I am optimistic that I might need a few into the future and I did not want to have to replicate the process of creating additional year pages and stamps later. Once and done. I don't think I'll see 2050 so I stopped there. I use the years pages to append to sheets of merged pages so that I can see what year the sheet is even if zoomed-out a bit. I also have stamps made for some of the years and sometimes use them, so it is a little of both ways of indicating the year.
MedBooster wrote: Mon Nov 25, 2024 6:47 pm
PS: why the 3 empty pages in the beginning of the collection?
When I am assembling large sheets of merged pages, I sometimes like to throw in one or two blank pages just to space things out a bit for aesthetics. I know there are other ways to 'skin the cat' such as merging pages with predefined margins or using the Insert Pages tool or the Resize Pages tool but sometimes it is just easier to drag a pre-existing page into the mix. Other users can ignore or delete them if they like.

I am also using this file as library of a sort for Bookmarks that I frequently use. I copy from here and paste to there. Again, other users can ignore or delete those.
All best,

FringePhil
MedBooster
User
Posts: 1372
Joined: Mon Nov 15, 2021 8:38 pm

Re: Stamp collections – let's share some, fellow PDF-XChangers :=)

Post by MedBooster »

In short; press Win+R, paste this
%appdata%\Tracker Software\PDFXEditor\3.0\Stamps
Drag and drop your .pdf stamp files from there.

Updated stamp collection:
114bf1bb-0612-4056-9d2800697ab5ab30.pdf
(263.82 KiB) Downloaded 57 times

image.png
High yield = a road yield sign – genius, right?


edit:
Yes to add dynamic stamps (like the timestamps I shared above) to another collection you can't use the "add from file"-option... In this case you would have to make a backup outside the "Tracker Software\PDFXEditor\3.0\Stamps"-folder and combine it manually – it seems...
Last edited by MedBooster on Wed Nov 27, 2024 2:48 pm, edited 1 time in total.
My wishlist https://forum.pdf-xchange.com/viewtopic.php?p=187394#p187394
Disable SPACE page navigation, fix kb shortcut for highlighting advanced search tool search field, bookmarks with numbers, toolbar small icon size, AltGr/Ctrl+Alt keyboard issues
User avatar
PHK
User
Posts: 1394
Joined: Tue Nov 24, 2020 4:02 pm

Re: Stamp collections – let's share some, fellow PDF-XChangers :=)

Post by PHK »

MedBooster wrote: Wed Nov 27, 2024 1:36 pm In short; press Win+R, paste this
%appdata%\Tracker Software\PDFXEditor\3.0\Stamps
Drag and drop your .pdf stamp files from there.

Updated stamp collection:
114bf1bb-0612-4056-9d2800697ab5ab30.pdf

image.png
High yield = a road yield sign – genius, right?
There's an easier way: use the New Stamp from Active Document, selecting the pages you want to be Stamps.
image.png
image.png (922 Bytes) Viewed 9250 times
However, it should be noted that this won't work completely for dynamic stamps; only for images.
All best,

FringePhil
Post Reply