J'utilise la bibliothèque PHP pour télécharger et mettre à jour un fichier HTML et le convertir en documents Google natifla création d'un document sur Google Drive et changer son format papier
include_once ROOT.'/google-api-php-client/vendor/autoload.php';
$client = new Google_Client();
$credentialsFile = ROOT.'/google-api-php-client/service_account.json';
if (!file_exists($credentialsFile)) {
throw new RuntimeException('Service account credentials Not Found!');
}
$client->setAuthConfig($credentialsFile);
$client->setScopes(Google_Service_Drive::DRIVE);
$service = new Google_Service_Drive($client);
/**
* Проверка существования папки для документов
*/
$optParams = array(
'q' => "name='Документы'"
);
$results = $service->files->listFiles($optParams);
if (count($results->getFiles()) == 0) {
exit('Нет папки для документов');
} else {
foreach ($results->getFiles() as $file) {
$papka_doc = $file->getId();
}
}
/**
* Обращение к шаблону
*/
$optParams = array(
'q' => "name='{$tpl_name}' "
);
$results = $service->files->listFiles($optParams);
if (count($results->getFiles()) == 0) {
exit('Нет шаблона');
} else {
foreach ($results->getFiles() as $file) {
$sh_id = $file->getId();
}
}
/**
* Получение контента из шаблона
*/
$content = $service->files->export($sh_id, 'text/html', array(
'alt' => 'media'));
$dd =$content->getBody();
$chto = array_keys ($replace);
$chto= $this->translit($chto);
$nachto =array_values ($replace);
$nachto= $this->translit($nachto);
$dd = str_replace($chto, $nachto, $dd);
/**
* Создание основы для документа
*/
$fileId = $sh_id;
$doc_name = $tpl_name.'_'.date('dmY-Hi');
$fileMetadata = new Google_Service_Drive_DriveFile(array(
'name' => $doc_name,
'parents' => array($papka_doc)));
$file = $service->files->copy($fileId, $fileMetadata, array(
'fields' => 'id'));
$new_file_id = $file->id;
/**
* Вставка контента в новый документ
*/
$fileMetadata = array(
'data' => $dd);
$filenew = new Google_Service_Drive_DriveFile();
$file = $service->files->update($new_file_id, $filenew, $fileMetadata);
il crée un document avec le format de papier sur Lettre . Pour mon compte, la valeur par défaut est A4 et je souhaite que le nouveau document soit dans ce format. Est-ce que quelqu'un sait comment définir le format de papier du document téléchargé?
P.S .: J'ai vu this fil, mais peut-être est apparu une méthode?
J'ai parcouru les docs mais malheureusement, je n'ai trouvé aucun exemple associé. Comme indiqué dans le [thread] (http://stackoverflow.com/questions/24183561/uploading-a-document-to-google-drive-and-setting-its-paper-size), il n'est pas encore pris en charge. Cependant, vous pouvez déposer une [demande de fonctionnalité] (https://productforums.google.com/forum/#!topic/drive/TESSj1GH1Xw) pour cela. – abielita