HTML ба тасвир

Чӣ тавр HTML ба тасвир дар Java табдил дода мешавад

HTML формати defacto барои сохтори саҳифаҳои веб буда, мундариҷаро дар формати стандартии матн нигоҳ медорад. Тегҳои дохили HTML тарҳбандии саҳифа ва мундариҷаи саҳифаи веб, аз ҷумла матн, ҷадвалҳо, тасвирҳо ва гиперҳаволаҳоро, ки дар браузери веб намоиш дода мешаванд, муайян мекунанд. Аммо, дар ниҳоят, мушоҳида карда шуд, ки скриптҳои зараровар метавонанд дар дохили саҳифаҳои HTML ҷойгир карда шаванд ва метавонанд дар намудҳои гуногуни ҳамла, аз ҷумла скрипти байни сайтҳо (XSS) истифода шаванд. Аз ин рӯ, бисёр созмонҳо/системаҳо боркунии файлҳои HTML-ро, ки дар реҷаи офлайнӣ муштараканд, манъ мекунанд. Ҳамин тавр, роҳи ҳалли қобили амал ин табдил додани HTML ба формати тасвир аст. Дар ин мақола мо тафсилоти тарзи табдил додани HTML ба JPG дар Java муҳокима хоҳем кард.

HTML ба API табдилдиҳии тасвир

Мо Aspose.HTML Cloud SDK for Java-ро барои иҷрои табдили HTML ба тасвир истифода мебарем. Ин API хусусияти бор кардан ва коркарди файлҳои мавҷудаи HTMLро таъмин мекунад. Ҳамзамон, он инчунин хусусияти пешниҳоди HTML-ро ба PDF, XPS, DOCX ва форматҳои тасвир, аз ҷумла (JPEG, [PNG] пешниҳод мекунад. 8, BMP, ва TIFF). Акнун лутфан сатрҳои зеринро ба pom.xml лоиҳаи навъи maven сохтани худ илова кунед, то SDK-ро зеркашӣ ва насб кунед.

<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-html-cloud</artifactId>
<version>20.7.0</version>
</dependency>

Қадами муҳими навбатии обунаи ройгон ба хидматҳои абрии мо тавассути Aspose.Cloud бо истифода аз GitHub ё ҳисоби Google мебошад. Ё, танҳо эҷоди Ҳисоби нав ва тафсилоти Маълумоти Муштарии худро дастрас кунед.

Чӣ тавр HTML ба JPG дар Java табдил дода мешавад

Лутфан дастурҳои дар зер овардашударо иҷро кунед, то талаботи табдил додани HTML ба JPG-ро иҷро кунед.

  • Пеш аз ҳама, мо бояд тафсилотро бар зидди усулҳои Configuration.setAPPSID ва Configuration.setAPIKEY муайян кунем.
  • Дуюм, мо тафсилотро барои setBasePath(..), setAuthPath(..) муқаррар мекунем ва setUserAgent(…)-ро ҳамчун WebKit муайян мекунем.
  • Сеюм, барои кӯмаки худ, мо setDebug (..) -ро ҳамчун ҳақиқӣ таъин мекунем
  • Акнун объекти синфи ConversionApi эҷод кунед
  • Тафсилоти маржа ва номро барои маълумот барои файли натиҷавӣ муайян кунед
  • Дар ниҳоят, ба GetConvertDocumentToImage(…) занг занед, то раванди табдилро оғоз кунад. Ин усул номи вуруди HTML, формати тасвири натиҷавӣ, маржа ва тафсилоти андозаҳоро ҳамчун аргумент қабул мекунад
// барои мисолҳои бештар, лутфан ба https://github.com/aspose-html-cloud/aspose-html-cloud-java муроҷиат кунед

try
    {
    // ClientID ва ClientSecret -ро аз https://dashboard.aspose.cloud/ гиред
    String clientId = "bbf94a2c-6d7e-4020-b4d2-b9809741374e";
    String clientSecret = "1c9379bb7d701c26cc87e741a29987bb";
  
    // тафсилот барои даъвати Api
    com.aspose.html.Configuration.setAPP_SID(clientId);
    com.aspose.html.Configuration.setAPI_KEY(clientSecret);
    com.aspose.html.Configuration.setBasePath("https://api.aspose.cloud/v3.0");
    com.aspose.html.Configuration.setAuthPath("https://api.aspose.cloud/connect/token");
    com.aspose.html.Configuration.setUserAgent("WebKit");
    com.aspose.html.Configuration.setDebug(true);
        
    // Объекти API Cloud Aspose.HTML эҷод кунед
    com.aspose.html.api.ConversionApi htmlApi = new ApiClient().createService(ConversionApi.class);
     	
    // Ҳуҷҷати html аз нигоҳдории абр
    String name = "list.html";
    // формати тасвири натиҷа
    String outFormat = "PNG";
    	
    Integer width = 800; // Resulting image width.
    Integer height = 1000; // Resulting image height.
    Integer leftMargin = 10; // Left resulting image margin.
    Integer rightMargin = 10; // Right resulting image margin.
    Integer topMargin = 10; // Top resulting image margin.
    Integer bottomMargin = 10; // Bottom resulting image margin.
    Integer resolution = 300; // Resolution of resulting image.
    String folder = null; // The folder in the storage. Should exist.
    String storage = "Internal"; // Name of the storage. null
    	
    // API-ро барои табдили HTML ба JPG даъват кунед
    retrofit2.Call<okhttp3.ResponseBody> call = htmlApi.GetConvertDocumentToImage(name, outFormat, width, height, leftMargin, rightMargin, topMargin, bottomMargin, resolution, folder, storage);
    
    // (усули ихтиёрии фармоишӣ барои захира кардани JPG-и натиҷавӣ дар диски маҳаллӣ)
    checkAndSave(call, "resultantFile.png");
  
    System.out.println("HTML to JPG conversion sucessfull !");
    }catch(Exception ex)
    {
        System.out.println(ex);
    }

Табдил додани HTML ба JPG бо истифода аз фармонҳои cURL

API-ҳои абрии Aspose.HTML инчунин тавассути фармонҳои cURL бо истифода аз терминалҳои сатри фармон дастрас шудан мумкин аст. Аммо ҳамчун шарти пешакӣ, мо бояд аввал JSON Web Token (JWT) дар асоси маълумоти шахсии муштарии шумо тавлид кунем. Лутфан фармони зеринро барои тавлиди аломати JWT иҷро кунед.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bbf94a2c-6d7e-4020-b4d2-b9809741374e&client_secret=1c9379bb7d701c26cc87e741a29987bb" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Пас аз тавлиди аломати JWT, лутфан фармони зеринро дар терминал иҷро кунед, то табдили HTML ба тасвирро иҷро кунед.

curl -v -X GET "https://api.aspose.cloud/html/list.html/convert/image/JPG" \
-H  "accept: multipart/form-data" \
-H  "authorization: Bearer <JWT Token>"

Хулоса

Мо бо истифода аз порчаҳои коди Java табдил додани HTML ба тасвирро омӯхтем ва инчунин тафсилоти он, ки чӣ тавр мо метавонем HTML-ро ба JPG бо истифода аз фармонҳои cURL табдил диҳем. Маҳсулот Ҳуҷҷатҳо манбаи олӣ барои омӯзиши дигар қобилиятҳои аҷибе мебошад, ки аз ҷониби API пешниҳод карда мешаванд. Инчунин, агар шумо ҳангоми истифодаи API бо ягон мушкилот рӯ ба рӯ шавед, лутфан бо Форуми дастгирии маҳсулоти ройгон тамос гиред.

Мақолаҳои марбут

Мо инчунин тавсия медиҳем, ки ба блогҳои зерин барои тафсилоти бештар дар бораи: