add pdf func