Как избежать дополнительного пустого пространства в нижней части выхода PDF с использованием безголовного хрома и CDP в JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как избежать дополнительного пустого пространства в нижней части выхода PDF с использованием безголовного хрома и CDP в

Сообщение Anonymous »

Я генерирую PDF с адаптивной веб -страницы (мобильная версия), используя экземпляр Chrome без головы и протокол Chrome Devtools (CDP) в Java. Цель состоит в том, чтобы создать одностраничный PDF, который точно отражает то, что пользователь увидит на мобильном экране. Следующие команды CDP в этом порядке (все синхронно): < /li>
< /ol>
// Step 1: Enable required domains
send("Page.enable");
send("Runtime.enable");
send("Log.enable");

// Step 2: Set mobile viewport
send("Emulation.setDeviceMetricsOverride", {
width: 360,
height: 640,
deviceScaleFactor: 3,
mobile: true
});

// Step 3: Set media to screen
send("Emulation.setEmulatedMedia", {
media: "screen"
});

// Step 4: Navigate to the URL
send("Page.navigate", {
url: "https://arunac97.github.io/samplesite.c ... anvas.html"
});

// Step 5: Wait for the page to load (handled properly in code)

// Step 6: Get layout metrics
JSONObject layout = send("Page.getLayoutMetrics");
JSONObject cssContentSize = layout.getJSONObject("cssContentSize");
float contentWidth = cssContentSize.getFloat("width");
float contentHeight = cssContentSize.getFloat("height");

// Step 7: Print to PDF
send("Page.printToPDF", {
paperWidth: contentWidth / 96, (converting pixel to inch - 96 dpi)
paperHeight: contentHeight / 96,
marginTop: 0,
marginBottom: 0,
marginLeft: 0,
marginRight: 0,
scale: 1,
printBackground: true
});
< /code>
Проблема: < /strong>
PDF генерируется правильно, но оно включает в себя большое пустое пространство внизу - около 30% высоты страницы, которой не должно быть. Page.printtopdf. < /Li>
Я рисую элемент, используя JavaScript после загрузки страницы. Canvas имеет размер, чтобы точно соответствовать полной прокручиваемой ширине и высоте страницы и расположен на вершине всего содержания. Это приводит к тому, что холст становится смещенным или появляется в неправильном месте, поскольку он был нарисован на основе исходного размера страницы. Сгенерированный PDF? Оценка. /> Спасибо! < /p>

Подробнее здесь: https://stackoverflow.com/questions/796 ... ess-chrome
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»