ਵੈੱਬ ਨੂੰ ਕੈਪਚਰ ਅਤੇ ਕਨਵਰਟ ਕਰਨ ਲਈ ਟੂਲ

ਗਰੈਬਜ਼ਆਈਟੀ ਦੇ ਕੈਪਚਰ ਏਪੀਆਈ ਦੇ ਨਾਲ ਪੀਐਚਪੀ ਦੇ ਸਿਮਫੋਨੀ ਫਰੇਮਵਰਕ ਦੀ ਵਰਤੋਂ ਕਰਨਾ

ਜਦੋਂ ਕਿ ਗਰੈਬਜ਼ਿਟ ਦੀ ਪੀਐਚਪੀ ਲਾਇਬ੍ਰੇਰੀ ਇਕ ਲਾਇਬ੍ਰੇਰੀ ਪ੍ਰਦਾਨ ਕਰਨ 'ਤੇ ਕੇਂਦ੍ਰਤ ਹੈ ਜੋ ਕਿਸੇ ਵੀ ਪੀਐਚਪੀ ਪ੍ਰੋਜੈਕਟ ਵਿਚ ਵਰਤੀ ਜਾ ਸਕਦੀ ਹੈ. ਸਿਮਫੋਨੀ ਪੀਐਚਪੀ ਪ੍ਰੋਜੈਕਟਾਂ ਨੂੰ ਵਿਲੱਖਣ togetherੰਗ ਨਾਲ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ ਜਿਸ ਲਈ ਥੋੜਾ ਹੋਰ ਕੰਮ ਦੀ ਜ਼ਰੂਰਤ ਹੁੰਦੀ ਹੈ.

ਸਿਮਫੋਨੀ ਇਸ ਸਮੇਂ ਵਰਤੇ ਜਾਂਦੇ ਸਭ ਤੋਂ ਵੱਡੇ ਪੀਐਚਪੀ ਫਰੇਮਵਰਕ ਵਿੱਚੋਂ ਇੱਕ ਹੈ ਜੋ ਲਾਇਬ੍ਰੇਰੀਆਂ ਅਤੇ ਕੰਪੋਨੈਂਟਾਂ ਦੇ ਦੁਬਾਰਾ ਵਰਤੋਂਯੋਗ ਸੈੱਟ ਦੇ ਕੇ ਵੈੱਬ ਵਿਕਾਸ ਦੀ ਗਤੀ ਵਧਾਉਂਦਾ ਹੈ. ਟੋਰਬੇਨ ਲੰਡਸਗਾਰਡ ਦਾ ਧੰਨਵਾਦ ਕਰਨ ਲਈ, ਕਿਹੜਾ ਗ੍ਰਾਬਜ਼ ਇਹ ਹੁਣ ਇਕ ਹਿੱਸਾ ਹੈ ਟਾਲਮੀਡੀਆ ਜਿਸਨੇ ਸੈਮਫੋਨੀ ਲਈ ਗਰੈਬਜ਼ ਆਈਟ ਦਾ ਬੰਡਲ ਬਣਾਇਆ. ਇਹ ਓਪਨ ਸੋਰਸ ਸਾੱਫਟਵੇਅਰ MIT ਲਾਇਸੰਸ.

ਗਰੈਬਜ਼ ਆਈਟ ਬੰਡਲ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਤੁਹਾਨੂੰ ਪਹਿਲਾਂ ਇਸ ਨੂੰ ਕੰਪੋਜ਼ਰ ਦੇ ਨਾਲ ਸਥਾਪਤ ਕਰਨਾ ਪਏਗਾ.

composer require tlamedia/grabzit-bundle

ਫਿਰ ਇਸ ਨੂੰ ਤੁਹਾਡੇ ਕਰਨਲ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ.

public function registerBundles()
{
$bundles = array(
//...
new Tla\GrabzitBundle\TlaGrabzitBundle(),
//…

ਸੰਰਚਨਾ

ਆਪਣਾ ਲਵੋ ਏਪੀਆਈ ਕੁੰਜੀ ਅਤੇ ਗੁਪਤ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਆਪਣੀ ਕਨਫਿਗ ਫਾਈਲ ਵਿੱਚ ਇਸ ਤਰਾਂ ਸ਼ਾਮਲ ਕਰੋ.

# config.yml
tla_grabzit:
    key: 'Sign in to view your Application Key'
    secret: 'Sign in to view your Application Secret'

ਬੰਡਲ ਕਈ ਸੇਵਾਵਾਂ ਰਜਿਸਟਰ ਕਰਦਾ ਹੈ ਜਿਸਨੂੰ ਜਦੋਂ ਬੁਲਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਉਚਿਤ ਗਰੈਬਜ਼ਿਟ ਕਲਾਸ ਵਾਪਸ ਆਉਂਦੀ ਹੈ.

ਸੇਵਾ ਪਛਾਣਕਰਤਾ ਗਰੈਬਜ਼ਿਟ ਕਲਾਸ
tla_grabzit.client GrabzItClient
tla_grabzit.imageoptions GrabzItImageOptions
tla_grabzit.pdfoptions GrabzItPDFOptions
tla_grabzit.docxoptions GrabzItDOCXOptions
tla_grabzit.animationoptions GrabzItAnimationOptions
tla_grabzit.tableoptions GrabzItTableOptions

ਕੈਪਚਰ ਕਿਵੇਂ ਤਿਆਰ ਕਰੀਏ

ਸਿਮਫਨੀ ਫਰੇਮਵਰਕ ਵਿੱਚ ਇੱਕ ਥੰਬਨੇਲ ਕਿਵੇਂ ਬਣਾਇਆ ਜਾਵੇ ਇਸਦੀ ਇੱਕ ਉਦਾਹਰਣ.

namespace App\Service;

use Symfony\Component\DependencyInjection\ContainerInterface as Container;

class ThumbnailGenerator
{
    private $container;

    public function __construct(Container $container)
    {
        $this->router = $router;
        $this->container = $container;
    }

    public function generateThumbnail($url)
    {
        $grabzItHandlerUrl = 'https://www.my-grabzit-thumbnail-site.com/api/thumbmail-ready';

        $options = $this->container->get('tla_grabzit.imageoptions');
        $options->setBrowserWidth(1024);
        $options->setBrowserHeight(768);
        $options->setFormat("png");
        $options->setWidth(320);
        $options->setHeight(240);
        $options->setCustomId($domain);

        $grabzIt = $this->container->get('tla_grabzit.client');
        $grabzIt->URLToImage($url, $options);
        $grabzIt->Save($grabzItHandlerUrl);

        try {
            $grabzIt->URLToImage($url, $options);
            $grabzIt->Save($grabzItHandlerUrl);
            $result = true;
        } catch (\Throwable $t) {
            $result = false;
        }

        return $result;
    }
}

ਹੈਂਡਲਰ ਨਾਲ ਕੈਪਚਰ ਕਿਵੇਂ ਪ੍ਰਾਪਤ ਕਰੀਏ

ਸਿਮਫਨੀ ਫਰੇਮਵਰਕ ਵਿੱਚ ਹੈਂਡਲਰ ਦੀ ਵਰਤੋਂ ਕਰਦਿਆਂ ਗਰੈਬਜ਼ਟ ਤੋਂ ਕੈਪਚਰ ਕਿਵੇਂ ਪ੍ਰਾਪਤ ਕੀਤੇ ਜਾਣ ਦੀ ਇੱਕ ਉਦਾਹਰਣ. ਬੇਸ਼ਕ ਤੁਹਾਨੂੰ ਆਪਣੀਆਂ ਜ਼ਰੂਰਤਾਂ ਨਾਲ ਮੇਲ ਕਰਨ ਲਈ ਇਸਨੂੰ ਬਦਲਣ ਦੀ ਜ਼ਰੂਰਤ ਹੋਏਗੀ.

namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;

class ApiController extends Controller
{
    public function thumbnailReadyAction(Request $request)
    {
        $id = urldecode($request->query->get('id'));
        $customId = $request->query->get('customid');
        $thumbnailFormat = $request->query->get('format');

        if ($id && $customId && $thumbnailFormat) {

            $grabzItApplicationKey = $this->container->getParameter('tla_grabzit.key');

            if (0 === strpos($id, $grabzItApplicationKey)) {

                $grabzIt = $this->container->get('tla_grabzit.client');
                $result = $grabzIt->GetResult($id);

                if ($result) {
                    $rootPath = $this->get('kernel')->getRootDir() . '/../';
                    $thumbnailsPath = $rootPath . 'var/thumbnails/';
                    $fileName = $customId. '.' .$thumbnailFormat;
                    
                    file_put_contents($thumbnailsPath . $fileName, $result);
                } else {
                    throw $this->createNotFoundException('GrabzIt did not return a file');
                }
            } else {
                throw $this->createNotFoundException('Wrong key - Unauthorized access');
            }
        } else {
            throw $this->createNotFoundException('Missing parameters');
        }
        return new Response(null, 200);
    }
}

ਇਹ ਸਹਾਇਤਾ ਲੇਖ ਨੂੰ ਇਸ ਬੰਡਲ ਲਈ GitHub 'ਤੇ ਵਿਸਥਾਰ ਨਾਲ ਸਹਾਇਤਾ ਕਰੋ.