??? ??, ??? ??, ?? ?? ? ?? ?????? Excel ??? PDF ???? ???? ???. ??? ?? ?? ?????? ??? ?? ???? ? ?? ????? ??????. ??? ??? ? ?? ?? ???? ?? ?? ???? ?? ??, ??? ??, ??? ?? ?? ?? ??? ?? ? ????.
?? ?? ??? ???? ???? ??? Excel-PDF ???? ???? ??? ???? ??? ? ?? ?? ????? ?? ?? ??? ??????.
???? ??
???? ??
?? ?? ??? Aspose.Cells, Syncfusion ?? ?? ?? ???? ??????. ????? ??? ???? ??? ?? ??? ??? ?? ?? ?????? ??? ?? ???.
??? ???
?? ??? ???? ?? ??? ? ??? ????? ???? ????. ??? ???? ?? ?? ?? ?? ??(??? ?? ??? ????? ???), ?? ?? ??? ??? ????? API? ???? ????.
?? ?? ?????
?? ?? ?????? ????? ??? Excel ??? PDF? ???? ??? ??????. ? ??? ?? ??????? ??? ? ??? ?? Microsoft Office ??? ???? ?? ??? ????.
???? ??? LibreOffice
? ? ?? ??? ?? LibreOffice? ???? ??? ???? ??? ??????. LibreOffice? Excel? ??? ??? ?? ??? PDF? ??? ? ?? ?? ?? ?? ??? ??????. ???? ???? ???? ???? ?? ????? ???? ??????.
? ??? ?? ??
????? ?? ?? ????? ? ??? REST API ??? ?? ?? Go ?? HTTP ??? ??????. ? ??? LibreOffice? ??? ????? ?? ????? ??? HTTP ??? ?? ?? ??? ? ??? ???.
?? ??
- ??? ?? ?? ??: .xlsx, .xls, .csv, .docx, .pptx ? ?? ??? ?????.
- ?? ??: ?? ??? ??? ??? ???? ?? 1?? ?? ???? ?????.
- ??? ?? ??: GitHub ???? ????? Docker ??? ???? ??? ?? ??? ??? ? ????.
- ?? ?? ??: HTTP? ???? ?? ????? ???? ?????.
?? ???? ??
???? ?? ????? ???? ?? ??? ?? ./tmp ????? ????? ??????. ??? ?? ?????? ??? ??? ? ?? ??? ?? ??? ?? ??? ??? ?????.
????
?????
-
?? ???: ??????
/convert
?????? ???? POST ??? ?? Excel ??? ??????. - ?? ???: ??? ?????? ?? ?? ??? ???? ./tmp ????? ??? ?????.
- ??: ???? ???? LibreOffice? ???? ??? PDF? ???? ??? ??? ????? ?????.
- ?? ??: ????? ???? 1??? ?? ??? ?????.
- ??: ??? PDF? HTTP ???? ?????.
?? ???
GitHub ???
????? http://www.miracleart.cn/link/5b1add8961a1cfa07e60838ffd0f83e7?? ???? ? ????.
?? ???
? ????? Docker ???? ?????: wteja/pdf-converter.
Docker ???? ??
<code>docker pull wteja/pdf-converter docker run -p 5000:5000 wteja/pdf-converter</code>
?? ???? ?? ??
???? HTTP? ?? ????? ?? ????? ??? ???? ???? ?? ??? ? ????.
C#
var client = new HttpClient(); var fileContent = new ByteArrayContent(File.ReadAllBytes("example.xlsx")); var formData = new MultipartFormDataContent { { fileContent, "file", "example.xlsx" } }; var response = await client.PostAsync("http://localhost:5000/convert", formData); var pdfBytes = await response.Content.ReadAsByteArrayAsync(); File.WriteAllBytes("output.pdf", pdfBytes);
Node.js
const axios = require("axios"); const FormData = require("form-data"); const fs = require("fs"); const form = new FormData(); form.append("file", fs.createReadStream("example.xlsx")); axios.post("http://localhost:5000/convert", form, { headers: form.getHeaders() }) .then(response => fs.writeFileSync("output.pdf", response.data)) .catch(console.error);
???
import requests with open("example.xlsx", "rb") as f: response = requests.post("http://localhost:5000/convert", files={"file": f}) with open("output.pdf", "wb") as f: f.write(response.content)
???
package main import ( "bytes" "io" "mime/multipart" "net/http" "os" ) func main() { file, _ := os.Open("example.xlsx") defer file.Close() body := &bytes.Buffer{} writer := multipart.NewWriter(body) part, _ := writer.CreateFormFile("file", "example.xlsx") io.Copy(part, file) writer.Close() req, _ := http.NewRequest("POST", "http://localhost:5000/convert", body) req.Header.Set("Content-Type", writer.FormDataContentType()) resp, _ := http.DefaultClient.Do(req) defer resp.Body.Close() out, _ := os.Create("output.pdf") defer out.Close() io.Copy(out, resp.Body) }
??? ??
??? ??
LibreOffice ????? ?? Docker ??? ??? 2.67GB???. Alpine? ?? ?? ???? ?????? ?? Microsoft Office ??? ???? ?? ?? ??? LibreOffice? ???? ?????. ???? ?? LibreOffice? ????? ??? ???? ? ???(? 3GB).
??? ?? ?? ??
? ? ??? ??? ?? ??? ??? ?? ?? ??? ??????. ?? ???? ?? ???? ??? ???? ??? ???? ?? ?????? ???? ? ????.
??
?? Excel-PDF ???? ?? ? ???? ?? ???? ???? LibreOffice? ???? ??? ???? ???? ?????. ????? ??? ???? ????? ?????. ??? ??? ????? ? ????? ?? ??? ??? ??? ? ??? ????.
GitHub?? ????? ????? Docker Hub?? Docker ???? ?????. ? ??? ??? ????? ?? ??? ?? ?? ??? ??? ????? ????.
? ??? ?? Excel-PDF ???? ?? ????: ?? ??? ???? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

??? ??











GO? ????? ????? ??? ????? ??????. ?? ??? ?? ?????. 1. ? ??? ?? : Linux ????? ?? ??? ?????? ??? ??? ? ????. 2. ?? ??? ??? ?? ???? ???? ?? ??? ????? ?? ??? ?? ?? ??? ?? ??? ? ? ????. 3. ?? ?? ???? ?? : ?? ????? ??? ??? ?? ??? ??? ???? ??????. 4. ??? ?? ??? : ??? ???? ????? ?? ?????? ? ???? ? ? ??? ??? ? ??? ?????. ??? ??? CLI ??, ???? ??? ? ?? ????? ????? ????? ????? ?? ??? ??? ???? ????? ???? ??? ?????.

GO?? ?? ??? ???? MAKE ??? ?? ?? ?? ? ??????. ?? ??? ???? ??? ??? ???? ?? ? ???? ?? ? ?? ??? ???? ?? ? ???? ??? ??? ? ????. ?? ??, ch : = make (Chanint, 10)? ?? 10 ?? ?? ?? ??? ??? ?? ??? ????. ???? ?? ??? ??, ??? ???? ?? ???? ??? ???? ???? ?? ? ??? ??? ????? ?????. ??? ??? ?, ?? : 1. ?? ??? ??? ??? ?? ??? ??? ??? ?? ?????????. 2. ??? ??? ??? ??? ??? ???? ?? ???????. 3. ??? chanstruct {} ??? ?? ?? ? ? ????. ???? ?????? ??? ?, ??? ??? ?? ? ???? ?????.

goensuresmemorysafety? ?? MemolemanucameThrougatomaticgargarbagecollection, nopointerarithmetic, safeconcurrency, andruntimechecks.first, go'sgarbagecollectoricallyally reclaimsunusedmemory, ??, itdisallowspointe, itdisallowspointe ??

GO? ??? ?????? ??????. C? ?? ??? ? ??? ??? ?? ??? ?? ??? ? ??? ???? ?? ?????. 1. ?? ? ???? ?? ???? Go? OS ???? ?? ? ????? ????? ??? ??, ??, ?? ??? ? ???? ?? ?????. OS.ReadFile? ???? ? ?? ??? ?? ??? ?????. ?? ???? ?? ?? ?? ??? ???? ? ?????. 2. ???? ?? ???? OS/EXEC ???? exec.command ??? ?? ??? ????, ??? ????, ?? ??? ????, ?? ? ?? ??? ?????? ?? ??, ??? ?? ? ?? ????? ??? ???? ????? ?? ? ? ????. 3. ???? ? ??? ???? Net ???? TCP/UDP ?????, DNS ?? ? ?? ??? ?????.

GO ???? ?? ??? ????? ?? ???? ????? ?? ? ???? ???? ??? ??? ???? ????????. ?? ???? ??? ?, ???? ? ??? ?? ??? ???? ?? ?? ? ? ????. 1. func (rrectangle) area () int? ?? ? ???? ???? rect.area ()? ?? ?? ??????. 2. ??? ?? ???? ?? func (r*???) setwidth (...)? ?? ??? ???? ???? ???? ?? ??? ???? ?????. 3. ??? ?? ? ?, ?? ??? ??? ?? ? ???, ?? ??? ?? ?? ?? ? ???. 4. Go? Getter/Setter? ??? ???? ??????.

GO?? ?????? ??? ???? ?? ??? ???? ?????. ?????? ??? ???? ???? ??? ??? ???? ?? ??? ?????? ???? ??????. ?? ??, speak () ???? ?? ? ??? ?????? ???? ???? ???? ?? ??? ???? ?? ? ? ????. ?????? ???? ??, ?? ?? ?? ?? ? ????? ?? ????? ???? ? ?????. ?????? ???? ????? ???? ???? ??? ??? ???? ??? ?? ??? ???? ?? ?????? ?????. ???? ?? ???? ??, ??, ?? ?????? ?? ???? ??? ? ?? ???? ?????. ?? ??, ?? ?? ??? ?? ??? ??? ???? ??? Anno? ??? ? ????.

Go Language?? ??? ??? ?? ??? ??? ? ?? ??? ?? ?????. 1.Strings.contains ()? ???? ?? ???? ???? ??? ??? ???? ?? ?? ???? ? ?????. 2.strings.index ()? ???? ?? ???? ???? ??? ?? ? ??? ???? ??? -1? ?????. 3.strings.replaceall ()? ?? ???? ?? ??? ?? ? ? ??? Strings.replace ()? ?? ?? ?? ?? ? ? ????. 4.Len () ??? ???? ??? ??? ?? ? ????? ?? ??? ?? ? ?? ??? ???? ?????? ???????. ??? ??? ?? ??? ???, ??? ?? ?? ? ??? ??? ?? ?????? ?????.

TheGoiopackageprovidesinterfaceslikeReaderandWritertohandleI/Ooperationsuniformlyacrosssources.1.io.Reader'sReadmethodenablesreadingfromvarioussourcessuchasfilesorHTTPresponses.2.io.Writer'sWritemethodfacilitateswritingtodestinationslikestandardoutpu
