Maison  >  Article  >  développement back-end  >  Créer un CV Word avec PHP

Créer un CV Word avec PHP

不言
不言original
2018-04-03 15:59:355385parcourir

PHP a une roue très facile à utiliser pour faire fonctionner Word, qui est phpword. La roue peut être trouvée sur github (PHPOffice/PHPWord). Il existe des exemples et des codes plus détaillés ci-dessus, et le code source à l'intérieur contient des exemples d'opérations courantes, y compris des opérations courantes telles que la définition des en-têtes, des pieds de page, des numéros de page, des styles de police, des tableaux, l'insertion d'images, etc. Voici comment utiliser la roue pour créer un CV.

De nombreux sites de recrutement disposent d'une fonction de téléchargement de CV. Comment l'implémenter en PHP ? Dans PHPOffice/PHPWord, il existe un moyen très simple de générer un document Word et d'insérer du texte dans le document. La méthode que j'utilise ici est plutôt intelligente. La documentation de cette roue inclut le traitement de modèle, que je comprends comme un remplacement de modèle, qui est le même concept que le modèle de lame de Laravel. Je ne parlerai pas trop ensuite, parlons juste de la façon de le faire fonctionner. Je voudrais mentionner que le framework laravel est utilisé.

1. Installez PHPOffice/PHPWord

composer require phpoffice/phpword

2. Créez le contrôleur DocController et la méthode de test pour tester et établir le routage.

php artisan make:controller DocController

3. Créez un modèle Word. Laissez-moi vous expliquer ici. La roue remplace la chaîne au format ${value} dans le document Word. Ici, je construis simplement un modèle comme le montre la figure 1 ci-dessous. . :
Créer un CV Word avec PHP
Comme vous pouvez le voir sur l'image, il existe des informations de base qui peuvent être utilisées pour récupérer des données de la base de données. Cependant, cette fois, la méthode de remplacement est utilisée directement pour les tableaux multilignes tels que l'expérience professionnelle et l'expérience éducative, une seule ligne est nécessaire comme modèle.

4. Code spécifique

//load template docx
        $templateProcessor = new TemplateProcessor('./sample.docx');

        //基础信息填写替换
        $templateProcessor->setValue('update_at', date('Y-m-d H:i:s'));
        $templateProcessor->setValue('number', '123456');
        $templateProcessor->setValue('Name', '张三');
        $templateProcessor->setValue('sex', '男');
        $templateProcessor->setValue('birth', '1996年10月');
        $templateProcessor->setValue('age', '22');
        $templateProcessor->setValue('shortcut', '待业/aaa');
        $templateProcessor->setValue('liveArea', '福建省莆田市涵江区');
        $templateProcessor->setValue('domicile', '福建省莆田市涵江区');
        $templateProcessor->setValue('address', '');
        $templateProcessor->setValue('hopetodo', 'IT');
        $templateProcessor->setValue('hopeworkin', '互联网');
        $templateProcessor->setValue('hopes', '7000+');
        $templateProcessor->setValue('worklocation', '福建省莆田市');
        $templateProcessor->setValue('phone', '123456789');
        $templateProcessor->setValue('mail', '456789@qq.com');
        $templateProcessor->setValue('qqnum', '456789');
        $templateProcessor->setValue('selfjudge', '哇哈哈哈哈哈哈哈');

        //工作经历表格替换
        $templateProcessor->cloneRow('experience_time', 2);//该表通过克隆行的方式,形成两行
        $templateProcessor->setValue('experience_time#1', '2010-09~2014-06');//每行参数是用value#X(X表示行号,从1开始)
        $templateProcessor->setValue('job#1', 'ABC company CTO');
        $templateProcessor->setValue('experience_time#2', '2014-09~至今');
        $templateProcessor->setValue('job#2', 'JBC company CTO');

        //教育经历
        $templateProcessor->cloneRow('time', 2);
        $templateProcessor->setValue('time#1', '2010-09~2014-06');
        $templateProcessor->setValue('school#1', 'ABC');
        $templateProcessor->setValue('major#1', 'Computer science');
        $templateProcessor->setValue('time#2', '2014-09~至今');
        $templateProcessor->setValue('school#2', 'JBC');
        $templateProcessor->setValue('major#2', 'Computer science');

        //语言能力
        $templateProcessor->cloneRow('lang',2);
        $templateProcessor->setValue('lang#1', '汉语|精通');
        $templateProcessor->setValue('lang#2', '英语|精通');

        //技能
        $templateProcessor->cloneRow('skill',3);
        $templateProcessor->setValue('skill#1', 'JAVA|精通');
        $templateProcessor->setValue('skill#2', 'Python|精通');
        $templateProcessor->setValue('skill#3', 'PHP|精通');

        // Saving the document
        $templateProcessor->saveAs('my.docx');

De cette façon, vous pouvez générer un CV en créant un modèle Word.

Recommandations associées :

Comment créer un avatar d'utilisateur circulaire en PHP

Comment créer un horodatage en millisecondes en PHP

Comment utiliser Thinkphp pour créer une diffusion Web en direct




Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn