أدوات لالتقاط وتحويل الويب

كيفية التحكم في اقتصاص محتوى PDF؟

عندما يتم استهداف عنصر HTML في تحويل PDF ، يتم اقتصاص النتيجة لإظهار عنصر HTML فقط. ومع ذلك ، يبقى السؤال حول ما يجب القيام به مع بقية الصفحة. هل يجب عرض الصفحة كاملة ، مع وجود عنصر HTML المستهدف في الجزء العلوي أو عنصر HTML فقط؟

افتراضيًا ، يتم عرض الصفحة كاملة مع عرض عنصر HTML المستهدف في أعلى الصفحة. كما هو مبين في المثال إلى اليمين.

ومع ذلك ، يلزم في بعض الأحيان إنشاء ملف PDF من شأنه إظهار عنصر HTML المحدد فقط دون بقية الصفحة. يتم عرض مثال على الشكل الذي سيكون عليه هذا على اليسار.

للقيام بذلك ، يجب عليك تمرير -1 إلى معلمات عرض وارتفاع الصفحة. لسوء الحظ ، هذا النهج أكثر تعقيدًا لأنه قبل اقتصاص PDF ، يجب تقديمه.

لذا ، إذا لم يكن حجم الصفحة الافتراضي كبيرًا بما يكفي لتقديم عنصر HTML بشكل جيد ، فقد تحتاج إلى تعيين حجم و / أو اتجاه أكبر للصفحة لضمان تقديمها بشكل صحيح كما هو مطلوب.

اقتصاص حجم الصفحة تلقائيًا إلى هدف HTML

لاحظ أن ميزة تغيير حجم الصفحة تلقائيًا ستعمل فقط عندما يتم استهداف عنصر HTML.

GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
PDFOptions options = new PDFOptions();
options.TargetElement = "#Article";
options.PageWidth = -1;
options.PageHeight = -1;
grabzIt.URLToPDF("http://www.spacex.com", options);
grabzIt.Save("http://www.mywebsite.com/Home/Handler");
GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
PDFOptions options = new PDFOptions();
options.setTargetElement("#Article");
options.setPageWidth(-1);
options.setPageHeight(-1);
grabzIt.URLToPDF("http://www.spacex.com", options);
grabzIt.Save("http://www.mywebsite.com/handler");
<script src="https://cdn.jsdelivr.net/npm/@grabzit/js@3.4.7/grabzit.min.js"></script>
<script>
GrabzIt("Sign in to view your Application Key").ConvertURL("http://www.spacex.com", 
{"format": "pdf", "download": 1, "target": "#Article", "height": -1, "width": -1}).Create();
</script>
var grabzit = require('grabzit');

var client = new grabzit("Sign in to view your Application Key", "Sign in to view your Application Secret");
var options = {"targetElement":"#Article","pageWidth":-1,"pageHeight":-1};
client.url_to_pdf("http://www.spacex.com", options);
client.save("http://www.example.com/handler", function (error, id){
    if (error != null){
        throw error;
    }
});
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret");
$options = GrabzItPDFOptions->new();
$options->targetElement("#Article");
$options->pageWidth(-1);
$options->pageHeight(-1);
$grabzIt->URLToPDF("http://www.spacex.com", $options);
$grabzIt->Save("http://www.mywebsite.com/handler.pl");
$grabzIt = new \GrabzIt\GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
$options = new \GrabzIt\GrabzItPDFOptions();
$options->setTargetElement("#Article");
$options->setPageWidth(-1);
$options->setPageHeight(-1);
$grabzIt->URLToPDF("http://www.spacex.com", $options);
$grabzIt->Save("http://www.mywebsite.com/handler.php");
grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")
options = GrabzItPDFOptions.GrabzItPDFOptions()
options.targetElement = "#Article"
options.pageWidth = -1
options.pageHeight = -1
grabzIt.URLToPDF("http://www.spacex.com", options)
grabzIt.Save("http://www.mywebsite.com/handler.py")
grabzIt = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")
options = GrabzIt::PDFOptions.new()
options.targetElement = "#Article"
options.pageWidth = -1
options.pageHeigh = -1
grabzIt.url_to_pdf("http://www.spacex.com", options)
grabzIt.save("http://www.mywebsite.com/handler/index")