mirror of
https://git.imnavajas.es/jjimenez/erp-imprimelibros.git
synced 2026-02-28 05:39:13 +00:00
Merge branch 'mod/modificaciones_problemas_varios' into 'main'
solucionado problema con cargar solapas de cubierta y formato. También añadido... See merge request jjimenez/erp-imprimelibros!48
This commit is contained in:
10
pom.xml
10
pom.xml
@ -191,6 +191,16 @@
|
||||
<systemPath>${project.basedir}/src/main/resources/lib/org.json.jar</systemPath>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.xmlgraphics</groupId>
|
||||
<artifactId>batik-transcoder</artifactId>
|
||||
<version>1.17</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.xmlgraphics</groupId>
|
||||
<artifactId>batik-codec</artifactId>
|
||||
<version>1.17</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
|
||||
@ -22,7 +22,6 @@ import com.imprimelibros.erp.direcciones.DireccionService;
|
||||
import com.imprimelibros.erp.cart.Cart;
|
||||
import com.imprimelibros.erp.cart.CartService;
|
||||
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/checkout")
|
||||
public class CheckoutController {
|
||||
@ -63,21 +62,24 @@ public class CheckoutController {
|
||||
return "imprimelibros/checkout/checkout"; // crea esta vista si quieres (tabla simple)
|
||||
}
|
||||
|
||||
@GetMapping({"/get-summary", "/get-summary/{direccionId}"})
|
||||
public String getCheckoutSummary(@PathVariable(required = false) Long direccionId, Principal principal, Model model, Locale locale) {
|
||||
@GetMapping({ "/get-summary", "/get-summary/{direccionId}/{method}" })
|
||||
public String getCheckoutSummary(@PathVariable(required = false) Long direccionId,
|
||||
@PathVariable(required = false) String method, Principal principal, Model model, Locale locale) {
|
||||
Long userId = Utils.currentUserId(principal);
|
||||
Cart cart = cartService.getOrCreateActiveCart(userId);
|
||||
Boolean hasTaxes = true;
|
||||
if(direccionId != null) {
|
||||
if (direccionId != null) {
|
||||
hasTaxes = direccionService.hasTaxes(direccionId);
|
||||
}
|
||||
Map<String, Object> summary = cartService.getCartSummary(cart, locale, hasTaxes);
|
||||
model.addAttribute("summary", summary);
|
||||
if (method != null) {
|
||||
model.addAttribute("method", method);
|
||||
}
|
||||
|
||||
return "imprimelibros/checkout/_summary :: checkoutSummary(summary=${summary})";
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/get-address/{id}")
|
||||
public String getDireccionCard(@PathVariable Long id, Model model, Locale locale) {
|
||||
Direccion dir = direccionService.findById(id)
|
||||
|
||||
@ -0,0 +1,47 @@
|
||||
package com.imprimelibros.erp.error;
|
||||
|
||||
import jakarta.servlet.RequestDispatcher;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import org.springframework.boot.web.servlet.error.ErrorController;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import com.imprimelibros.erp.common.Utils;
|
||||
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
@Controller
|
||||
public class ErrorPageController implements ErrorController {
|
||||
|
||||
@RequestMapping("/error")
|
||||
public String handleError(HttpServletRequest request, Model model) {
|
||||
|
||||
Object statusObj = request.getAttribute(RequestDispatcher.ERROR_STATUS_CODE);
|
||||
Integer statusCode = statusObj != null ? Integer.valueOf(statusObj.toString()) : 500;
|
||||
|
||||
HttpStatus status = HttpStatus.resolve(statusCode);
|
||||
if (status == null) status = HttpStatus.INTERNAL_SERVER_ERROR;
|
||||
|
||||
Object message = request.getAttribute(RequestDispatcher.ERROR_MESSAGE);
|
||||
Object exception = request.getAttribute(RequestDispatcher.ERROR_EXCEPTION);
|
||||
Object path = request.getAttribute(RequestDispatcher.ERROR_REQUEST_URI);
|
||||
|
||||
model.addAttribute("status", status.value());
|
||||
model.addAttribute("error", status.getReasonPhrase());
|
||||
model.addAttribute("message", message != null ? message : "");
|
||||
model.addAttribute("path", path != null ? path : "");
|
||||
model.addAttribute("timestamp", ZonedDateTime.now());
|
||||
|
||||
// Puedes usar esto para cambiar iconos/texto según status
|
||||
model.addAttribute("is404", status == HttpStatus.NOT_FOUND);
|
||||
model.addAttribute("is403", status == HttpStatus.FORBIDDEN);
|
||||
model.addAttribute("is500", status.is5xxServerError());
|
||||
|
||||
if(Utils.isCurrentUserAdmin())
|
||||
// una sola vista para todos los errores
|
||||
return "imprimelibros/error/error";
|
||||
else
|
||||
return "redirect:/"; // redirige a home para usuarios no admin
|
||||
}
|
||||
}
|
||||
@ -128,6 +128,62 @@ public class skApiClient {
|
||||
});
|
||||
}
|
||||
|
||||
public Map<String, Object> getLomos(Map<String, Object> requestBody) {
|
||||
try {
|
||||
String jsonResponse = performWithRetry(() -> {
|
||||
String url = this.skApiUrl + "api/get-lomos";
|
||||
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.setContentType(MediaType.APPLICATION_JSON);
|
||||
headers.setBearerAuth(authService.getToken()); // token actualizado
|
||||
|
||||
Map<String, Object> data = new HashMap<>();
|
||||
data.put("clienteId", requestBody.get("clienteId"));
|
||||
data.put("tamanio", requestBody.get("tamanio"));
|
||||
data.put("tirada", requestBody.get("tirada"));
|
||||
data.put("paginas", requestBody.get("paginas"));
|
||||
data.put("paginasColor", requestBody.get("paginasColor"));
|
||||
data.put("papelInteriorDiferente", 0);
|
||||
data.put("paginasCuadernillo", requestBody.get("paginasCuadernillo"));
|
||||
data.put("tipo", requestBody.get("tipo"));
|
||||
data.put("isColor", requestBody.get("isColor"));
|
||||
data.put("isHq", requestBody.get("isHq"));
|
||||
data.put("interior", requestBody.get("interior"));
|
||||
data.put("cubierta", requestBody.get("cubierta"));
|
||||
|
||||
HttpEntity<Map<String, Object>> entity = new HttpEntity<>(data, headers);
|
||||
|
||||
ResponseEntity<String> response = restTemplate.exchange(
|
||||
url,
|
||||
HttpMethod.POST,
|
||||
entity,
|
||||
String.class);
|
||||
|
||||
return response.getBody();
|
||||
});
|
||||
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
JsonNode root = mapper.readTree(jsonResponse);
|
||||
|
||||
if (root.get("lomoInterior") == null || !root.get("lomoInterior").isDouble()) {
|
||||
throw new RuntimeException();
|
||||
}
|
||||
|
||||
Double lomoInterior = root.get("lomoInterior").asDouble();
|
||||
Double lomoCubierta = root.get("lomoCubierta").asDouble();
|
||||
return Map.of(
|
||||
"lomoInterior", lomoInterior,
|
||||
"lomoCubierta", lomoCubierta);
|
||||
|
||||
} catch (JsonProcessingException e) {
|
||||
// Fallback al 80% del ancho
|
||||
return Map.of(
|
||||
"lomoInterior", 0.0,
|
||||
"lomoCubierta", 0.0);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public Map<String, Object> savePresupuesto(Map<String, Object> requestBody) {
|
||||
return performWithRetryMap(() -> {
|
||||
String url = this.skApiUrl + "api/guardar";
|
||||
|
||||
@ -184,11 +184,14 @@ public class PaymentController {
|
||||
|
||||
// Campos ordenables
|
||||
List<String> orderable = List.of(
|
||||
"transferId",
|
||||
"client",
|
||||
"transfer_id",
|
||||
"status",
|
||||
"amountCents",
|
||||
"payment.amountRefundedCents",
|
||||
"createdAt", "updatedAt");
|
||||
"amountCentsRefund",
|
||||
"payment.orderId",
|
||||
"createdAt",
|
||||
"processedAt");
|
||||
|
||||
Specification<PaymentTransaction> base = (root, query, cb) -> cb.or(
|
||||
cb.equal(root.get("status"), PaymentTransactionStatus.pending),
|
||||
@ -215,6 +218,26 @@ public class PaymentController {
|
||||
return DataTable
|
||||
.of(repoPaymentTransaction, PaymentTransaction.class, dt, searchable)
|
||||
.orderable(orderable)
|
||||
.orderable("client", (root, query, cb) -> {
|
||||
var sq = query.subquery(String.class);
|
||||
var u = sq.from(User.class);
|
||||
sq.select(u.get("fullName"));
|
||||
sq.where(cb.equal(u.get("id"), root.join("payment").get("userId")));
|
||||
return sq;
|
||||
})
|
||||
.orderable("transfer_id", (root, query, cb) -> {
|
||||
var orderId = root.join("payment").get("orderId").as(Long.class);
|
||||
return cb.<Long>selectCase()
|
||||
.when(cb.isNull(orderId), Long.MAX_VALUE)
|
||||
.otherwise(orderId);
|
||||
})
|
||||
.orderable("payment.orderId", (root, query, cb) -> {
|
||||
var orderId = root.join("payment").get("orderId").as(Long.class);
|
||||
return cb.<Long>selectCase()
|
||||
.when(cb.isNull(orderId), Long.MAX_VALUE)
|
||||
.otherwise(orderId);
|
||||
})
|
||||
.orderable("amountCentsRefund", (root, query, cb) -> root.join("payment").get("amountRefundedCents"))
|
||||
.add("created_at", pago -> Utils.formatDateTime(pago.getCreatedAt(), locale))
|
||||
.add("processed_at", pago -> Utils.formatDateTime(pago.getProcessedAt(), locale))
|
||||
.add("client", pago -> {
|
||||
@ -237,14 +260,14 @@ public class PaymentController {
|
||||
return "";
|
||||
})
|
||||
.add("order_id", pago -> {
|
||||
if (pago.getStatus() != PaymentTransactionStatus.pending) {
|
||||
//if (pago.getStatus() != PaymentTransactionStatus.pending) {
|
||||
if (pago.getPayment() != null && pago.getPayment().getOrderId() != null) {
|
||||
return pago.getPayment().getOrderId().toString();
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
return messageSource.getMessage("pagos.transferencia.no-pedido", null, "Pendiente", locale);
|
||||
//}
|
||||
//return messageSource.getMessage("pagos.transferencia.no-pedido", null, "Pendiente", locale);
|
||||
|
||||
}).add("amount_cents", pago -> Utils.formatCurrency(pago.getAmountCents() / 100.0, locale))
|
||||
.add("amount_cents_refund", pago ->
|
||||
|
||||
@ -14,14 +14,16 @@ public class PedidoLinea {
|
||||
procesando_pago("pedido.estado.procesando_pago", 2),
|
||||
denegado_pago("pedido.estado.denegado_pago", 3),
|
||||
aprobado("pedido.estado.aprobado", 4),
|
||||
maquetacion("pedido.estado.maquetacion", 5),
|
||||
haciendo_ferro("pedido.estado.haciendo_ferro", 6),
|
||||
esperando_aceptacion_ferro("pedido.estado.esperando_aceptacion_ferro", 7),
|
||||
ferro_cliente("pedido.estado.ferro_cliente", 8),
|
||||
produccion("pedido.estado.produccion", 9),
|
||||
terminado("pedido.estado.terminado", 10),
|
||||
enviado("pedido.estado.enviado", 11),
|
||||
cancelado("pedido.estado.cancelado", 12);
|
||||
procesando_pedido("pedido.estado.procesando_pedido", 5),
|
||||
maquetacion("pedido.estado.maquetacion", 6),
|
||||
haciendo_ferro_digital("pedido.estado.haciendo_ferro_digital", 7),
|
||||
esperando_aceptacion_ferro_digital("pedido.estado.esperando_aceptacion_ferro_digital", 8),
|
||||
haciendo_ferro("pedido.estado.haciendo_ferro", 9),
|
||||
esperando_aceptacion_ferro("pedido.estado.esperando_aceptacion_ferro", 10),
|
||||
produccion("pedido.estado.produccion", 11),
|
||||
terminado("pedido.estado.terminado", 12),
|
||||
enviado("pedido.estado.enviado", 13),
|
||||
cancelado("pedido.estado.cancelado", 14);
|
||||
|
||||
private final String messageKey;
|
||||
private final int priority;
|
||||
|
||||
@ -271,7 +271,7 @@ public class PedidoService {
|
||||
Integer counter = 1;
|
||||
for (PedidoLinea linea : lineas) {
|
||||
if (linea.getEstado() == Estado.pendiente_pago
|
||||
|| linea.getEstado() == Estado.denegado_pago) {
|
||||
|| linea.getEstado() == Estado.denegado_pago || linea.getEstado() == Estado.procesando_pago) {
|
||||
|
||||
Presupuesto presupuesto = linea.getPresupuesto();
|
||||
linea.setEstado(getEstadoInicial(presupuesto));
|
||||
@ -311,6 +311,7 @@ public class PedidoService {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public Map<String, Object> actualizarEstado(Long pedidoLineaId, Locale locale) {
|
||||
|
||||
PedidoLinea pedidoLinea = pedidoLineaRepository.findById(pedidoLineaId).orElse(null);
|
||||
@ -327,8 +328,8 @@ public class PedidoService {
|
||||
"message", messageSource.getMessage("pedido.errors.cannot-update", null, locale));
|
||||
}
|
||||
|
||||
// Rango: >= haciendo_ferro y < enviado
|
||||
if (estadoOld.getPriority() < PedidoLinea.Estado.haciendo_ferro.getPriority()
|
||||
// Rango: >= procesando_pedido y < enviado
|
||||
if (estadoOld.getPriority() < PedidoLinea.Estado.procesando_pedido.getPriority()
|
||||
|| estadoOld.getPriority() >= PedidoLinea.Estado.enviado.getPriority()) {
|
||||
return Map.of(
|
||||
"success", false,
|
||||
@ -788,7 +789,7 @@ public class PedidoService {
|
||||
if (presupuestoService.hasMaquetacion(p)) {
|
||||
return Estado.maquetacion;
|
||||
} else {
|
||||
return Estado.haciendo_ferro;
|
||||
return Estado.procesando_pedido;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -34,6 +34,7 @@ import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.http.CacheControl;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
import jakarta.validation.Validator;
|
||||
@ -48,12 +49,12 @@ import com.imprimelibros.erp.presupuesto.classes.ImagenPresupuesto;
|
||||
import com.imprimelibros.erp.presupuesto.classes.PresupuestoMaquetacion;
|
||||
import com.imprimelibros.erp.presupuesto.classes.PresupuestoMarcapaginas;
|
||||
import com.imprimelibros.erp.presupuesto.dto.Presupuesto;
|
||||
import com.imprimelibros.erp.presupuesto.dto.PresupuestoFormDataMapper;
|
||||
import com.imprimelibros.erp.presupuesto.dto.PresupuestoFormDataMapper.PresupuestoFormDataDto;
|
||||
import com.imprimelibros.erp.presupuesto.service.PresupuestoService;
|
||||
import com.imprimelibros.erp.presupuesto.validation.PresupuestoValidationGroups;
|
||||
import com.imprimelibros.erp.users.UserDao;
|
||||
import com.imprimelibros.erp.users.UserDetailsImpl;
|
||||
import com.imprimelibros.erp.presupuesto.service.PresupuestoFormDataMapper;
|
||||
import com.imprimelibros.erp.presupuesto.service.PresupuestoFormDataMapper.PresupuestoFormDataDto;
|
||||
import com.imprimelibros.erp.common.Utils;
|
||||
import com.imprimelibros.erp.common.web.IpUtils;
|
||||
|
||||
@ -151,7 +152,8 @@ public class PresupuestoController {
|
||||
return ResponseEntity.badRequest().body(errores);
|
||||
}
|
||||
Map<String, Object> resultado = new HashMap<>();
|
||||
Map<String , Object> datosInterior = apiClient.getMaxSolapas(presupuestoService.toSkApiRequest(presupuesto), locale);
|
||||
Map<String, Object> datosInterior = apiClient.getMaxSolapas(presupuestoService.toSkApiRequest(presupuesto),
|
||||
locale);
|
||||
resultado.put("solapas", datosInterior.get("maxSolapas"));
|
||||
resultado.put("lomo", datosInterior.get("lomo"));
|
||||
resultado.putAll(presupuestoService.obtenerOpcionesAcabadosCubierta(presupuesto, locale));
|
||||
@ -273,7 +275,8 @@ public class PresupuestoController {
|
||||
}
|
||||
}
|
||||
|
||||
Map<String , Object> datosInterior = apiClient.getMaxSolapas(presupuestoService.toSkApiRequest(presupuesto), locale);
|
||||
Map<String, Object> datosInterior = apiClient.getMaxSolapas(presupuestoService.toSkApiRequest(presupuesto),
|
||||
locale);
|
||||
resultado.put("solapas", datosInterior.get("maxSolapas"));
|
||||
resultado.put("lomo", datosInterior.get("lomo"));
|
||||
|
||||
@ -309,7 +312,8 @@ public class PresupuestoController {
|
||||
presupuesto.setGramajeInterior(Integer.parseInt(opciones.get(0))); // Asignar primera opción
|
||||
}
|
||||
}
|
||||
Map<String , Object> datosInterior = apiClient.getMaxSolapas(presupuestoService.toSkApiRequest(presupuesto), locale);
|
||||
Map<String, Object> datosInterior = apiClient.getMaxSolapas(presupuestoService.toSkApiRequest(presupuesto),
|
||||
locale);
|
||||
resultado.put("solapas", datosInterior.get("maxSolapas"));
|
||||
resultado.put("lomo", datosInterior.get("lomo"));
|
||||
|
||||
@ -335,7 +339,8 @@ public class PresupuestoController {
|
||||
}
|
||||
|
||||
Map<String, Object> resultado = new HashMap<>();
|
||||
Map<String , Object> datosInterior = apiClient.getMaxSolapas(presupuestoService.toSkApiRequest(presupuesto), locale);
|
||||
Map<String, Object> datosInterior = apiClient.getMaxSolapas(presupuestoService.toSkApiRequest(presupuesto),
|
||||
locale);
|
||||
resultado.put("solapas", datosInterior.get("maxSolapas"));
|
||||
resultado.put("lomo", datosInterior.get("lomo"));
|
||||
|
||||
@ -650,8 +655,7 @@ public class PresupuestoController {
|
||||
"presupuesto.reimprimir.success.title",
|
||||
"presupuesto.reimprimir.success.text",
|
||||
"presupuesto.reimprimir.error.title",
|
||||
"presupuesto.reimprimir.error.internal"
|
||||
);
|
||||
"presupuesto.reimprimir.error.internal");
|
||||
|
||||
Map<String, String> translations = translationService.getTranslations(locale, keys);
|
||||
model.addAttribute("languageBundle", translations);
|
||||
@ -676,7 +680,7 @@ public class PresupuestoController {
|
||||
"presupuesto.add.error.save.title",
|
||||
"presupuesto.iva-reducido",
|
||||
"presupuesto.iva-reducido-descripcion",
|
||||
"presupuesto.duplicar.title",
|
||||
"presupuesto.duplicar.title",
|
||||
"presupuesto.duplicar.text",
|
||||
"presupuesto.duplicar.confirm",
|
||||
"presupuesto.duplicar.cancelar",
|
||||
@ -908,6 +912,14 @@ public class PresupuestoController {
|
||||
return ResponseEntity.badRequest().body(errores);
|
||||
}
|
||||
|
||||
try {
|
||||
Map<String, Object> lomos = presupuestoService.obtenerLomos(presupuesto);
|
||||
presupuesto.setLomo(Double.valueOf(lomos.get("lomoInterior").toString()));
|
||||
presupuesto.setLomoCubierta(Double.valueOf(lomos.get("lomoCubierta").toString()));
|
||||
} catch (Exception ex) {
|
||||
log.error("Error al obtener lomos desde SK API", ex);
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
Map<String, Object> saveResult = presupuestoService.guardarPresupuesto(
|
||||
@ -933,6 +945,30 @@ public class PresupuestoController {
|
||||
}
|
||||
}
|
||||
|
||||
@GetMapping("/api/plantilla-cubierta.png")
|
||||
public ResponseEntity<byte[]> getPlantillaCubierta(
|
||||
@RequestParam("tipo") String tipoLibro,
|
||||
@RequestParam("tapa") String tapa,
|
||||
@RequestParam("ancho") Integer ancho,
|
||||
@RequestParam("alto") Integer alto,
|
||||
@RequestParam("lomo") Integer lomo,
|
||||
@RequestParam("solapas") Integer solapas,
|
||||
Locale locale) {
|
||||
|
||||
Presupuesto.TipoEncuadernacion tipoEncuadernacion = Presupuesto.TipoEncuadernacion.valueOf(tipoLibro);
|
||||
Presupuesto.TipoCubierta tipoCubierta = Presupuesto.TipoCubierta.valueOf(tapa);
|
||||
|
||||
byte[] png = presupuestoService.obtenerPlantillaCubierta(tipoEncuadernacion, tipoCubierta, ancho, alto, lomo,
|
||||
solapas, locale);
|
||||
if (png == null)
|
||||
return ResponseEntity.notFound().build();
|
||||
|
||||
return ResponseEntity.ok()
|
||||
.cacheControl(CacheControl.noCache())
|
||||
.contentType(MediaType.IMAGE_PNG)
|
||||
.body(png);
|
||||
}
|
||||
|
||||
@PostMapping("/{id}/comentario")
|
||||
@ResponseBody
|
||||
public String actualizarComentario(@PathVariable Long id,
|
||||
@ -944,14 +980,13 @@ public class PresupuestoController {
|
||||
@PostMapping("/api/duplicar/{id}")
|
||||
@ResponseBody
|
||||
public Map<String, Object> duplicarPresupuesto(
|
||||
@PathVariable Long id,
|
||||
@RequestParam(name = "titulo", defaultValue = "") String titulo) {
|
||||
@PathVariable Long id,
|
||||
@RequestParam(name = "titulo", defaultValue = "") String titulo) {
|
||||
|
||||
Long entity = presupuestoService.duplicarPresupuesto(id, titulo);
|
||||
return Map.of("id", entity);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/api/reimprimir/{id}")
|
||||
@ResponseBody
|
||||
public Map<String, Object> reimprimirPresupuesto(@PathVariable Long id) {
|
||||
|
||||
@ -126,6 +126,13 @@ public class PresupuestoFormatter {
|
||||
},
|
||||
locale);
|
||||
}
|
||||
textoResumen += ms.getMessage(
|
||||
"presupuesto.resumen-lomos",
|
||||
new Object[] {
|
||||
p.getLomo() != null ? Math.round(p.getLomo()) : "N/D",
|
||||
p.getLomoCubierta() != null ? Math.round(p.getLomoCubierta()) : "N/D"
|
||||
},
|
||||
locale);
|
||||
textoResumen += ms.getMessage("presupuesto.resumen-texto-end", null, locale);
|
||||
|
||||
return textoResumen;
|
||||
|
||||
@ -281,6 +281,12 @@ public class Presupuesto extends AbstractAuditedEntity implements Cloneable {
|
||||
@Column(name = "papel_interior_id")
|
||||
private Integer papelInteriorId;
|
||||
|
||||
@Column(name = "lomo")
|
||||
private Double lomo;
|
||||
|
||||
@Column(name = "lomo_cubierta")
|
||||
private Double lomoCubierta;
|
||||
|
||||
@NotNull(message = "{presupuesto.errores.gramaje-interior}", groups = PresupuestoValidationGroups.Interior.class)
|
||||
@Column(name = "gramaje_interior")
|
||||
private Integer gramajeInterior;
|
||||
@ -720,6 +726,22 @@ public class Presupuesto extends AbstractAuditedEntity implements Cloneable {
|
||||
this.papelInteriorId = papelInteriorId;
|
||||
}
|
||||
|
||||
public Double getLomo() {
|
||||
return lomo;
|
||||
}
|
||||
|
||||
public void setLomo(Double lomo) {
|
||||
this.lomo = lomo;
|
||||
}
|
||||
|
||||
public Double getLomoCubierta() {
|
||||
return lomoCubierta;
|
||||
}
|
||||
|
||||
public void setLomoCubierta(Double lomoCubierta) {
|
||||
this.lomoCubierta = lomoCubierta;
|
||||
}
|
||||
|
||||
public Integer getGramajeInterior() {
|
||||
return gramajeInterior;
|
||||
}
|
||||
|
||||
@ -1,9 +1,7 @@
|
||||
package com.imprimelibros.erp.presupuesto.service;
|
||||
package com.imprimelibros.erp.presupuesto.dto;
|
||||
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.imprimelibros.erp.presupuesto.dto.Presupuesto;
|
||||
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@ -20,6 +18,8 @@ public class PresupuestoFormDataMapper {
|
||||
public Cubierta cubierta = new Cubierta();
|
||||
public Servicios servicios = new Servicios();
|
||||
public Integer selectedTirada;
|
||||
public Double lomo;
|
||||
public Double lomoCubierta;
|
||||
|
||||
// ===== Datos Generales =====
|
||||
public static class DatosGenerales {
|
||||
@ -194,6 +194,10 @@ public class PresupuestoFormDataMapper {
|
||||
// ===== Selected tirada
|
||||
vm.selectedTirada = p.getSelectedTirada();
|
||||
|
||||
// ===== Lomos
|
||||
vm.lomo = p.getLomo();
|
||||
vm.lomoCubierta = p.getLomoCubierta();
|
||||
|
||||
// ===== Servicios desde JSONs
|
||||
vm.servicios.servicios = parse(p.getServiciosJson(),
|
||||
new TypeReference<List<PresupuestoFormDataDto.Servicios.DatosServicios>>() {
|
||||
@ -6,6 +6,8 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.Locale;
|
||||
|
||||
@ -42,6 +44,15 @@ import com.imprimelibros.erp.presupuesto.maquetacion.MaquetacionMatricesReposito
|
||||
import com.imprimelibros.erp.presupuesto.marcapaginas.MarcapaginasRepository;
|
||||
import com.imprimelibros.erp.users.UserDao;
|
||||
|
||||
import org.apache.batik.transcoder.TranscoderInput;
|
||||
import org.apache.batik.transcoder.TranscoderOutput;
|
||||
import org.apache.batik.transcoder.image.PNGTranscoder;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
|
||||
import java.io.*;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.text.NumberFormat;
|
||||
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
|
||||
import com.imprimelibros.erp.externalApi.skApiClient;
|
||||
@ -1297,6 +1308,76 @@ public class PresupuestoService {
|
||||
|
||||
}
|
||||
|
||||
public Map<String, Object> obtenerLomos(Presupuesto presupuesto) {
|
||||
try {
|
||||
Map<String, Object> response = apiClient.getLomos(this.toSkApiRequest(presupuesto));
|
||||
|
||||
return response;
|
||||
} catch (Exception e) {
|
||||
System.out.println("Error obteniendo lomos: " + e.getMessage());
|
||||
return Map.of();
|
||||
}
|
||||
}
|
||||
|
||||
public byte[] obtenerPlantillaCubierta(
|
||||
Presupuesto.TipoEncuadernacion tipoLibro,
|
||||
Presupuesto.TipoCubierta tapa,
|
||||
Integer ancho,
|
||||
Integer alto,
|
||||
Integer lomo,
|
||||
Integer solapas,
|
||||
Locale locale) {
|
||||
|
||||
try {
|
||||
String plantillaName = "plantilla";
|
||||
if (tipoLibro == Presupuesto.TipoEncuadernacion.grapado) {
|
||||
plantillaName += "-grapado";
|
||||
}
|
||||
if (solapas > 0) {
|
||||
plantillaName += "-solapas";
|
||||
}
|
||||
plantillaName += ".svg";
|
||||
|
||||
Integer sangrado = 5; // mm,
|
||||
if (tapa != Presupuesto.TipoCubierta.tapaBlanda && tipoLibro != Presupuesto.TipoEncuadernacion.grapado) {
|
||||
sangrado = 20;
|
||||
}
|
||||
|
||||
Integer ancho_t = lomo + sangrado * 2 + ancho * 2 + solapas * 2;
|
||||
Integer alto_t = alto + sangrado * 2;
|
||||
|
||||
// 3) Leer SVG template como texto
|
||||
String basePath = "static/assets/images/imprimelibros/presupuestador/templates-cubierta/";
|
||||
String svg = readClasspathText(basePath + plantillaName);
|
||||
|
||||
// 4) Sustituciones {{...}}
|
||||
Map<String, String> vars = new HashMap<>();
|
||||
NumberFormat nf = NumberFormat.getIntegerInstance(locale);
|
||||
|
||||
vars.put("ancho", nf.format(ancho)); // mm o lo que representes
|
||||
vars.put("alto", nf.format(alto));
|
||||
vars.put("ancho_t", nf.format(ancho_t));
|
||||
vars.put("alto_t", nf.format(alto_t));
|
||||
vars.put("lomo_t", nf.format(lomo != null ? lomo : 0));
|
||||
vars.put("solapa_t", nf.format(solapas != null ? solapas : 0));
|
||||
vars.put("sangrado", nf.format(sangrado));
|
||||
vars.put("portada", messageSource.getMessage("presupuesto.plantilla-cubierta.portada", null, locale));
|
||||
vars.put("contraportada",
|
||||
messageSource.getMessage("presupuesto.plantilla-cubierta.contraportada", null, locale));
|
||||
vars.put("lomo", messageSource.getMessage("presupuesto.plantilla-cubierta.lomo", null, locale));
|
||||
vars.put("solapa", messageSource.getMessage("presupuesto.plantilla-cubierta.solapa", null, locale));
|
||||
svg = replaceMustache(svg, vars);
|
||||
|
||||
// 5) Render SVG -> PNG (Batik)
|
||||
svg = sanitizeForBatik(svg);
|
||||
return svgToPng(svg, /* dpi */ 300f);
|
||||
|
||||
} catch (Exception e) {
|
||||
System.err.println("Error obteniendo plantilla de cubierta: " + e.getMessage());
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* PRIVADO (futuro botón "Guardar"): persiste el presupuesto como borrador.
|
||||
*/
|
||||
@ -1540,4 +1621,77 @@ public class PresupuestoService {
|
||||
return ip;
|
||||
}
|
||||
|
||||
private static String readClasspathText(String path) throws IOException {
|
||||
ClassPathResource res = new ClassPathResource(path);
|
||||
try (InputStream in = res.getInputStream()) {
|
||||
return new String(in.readAllBytes(), StandardCharsets.UTF_8);
|
||||
}
|
||||
}
|
||||
|
||||
private static String replaceMustache(String svg, Map<String, String> vars) {
|
||||
String out = svg;
|
||||
for (var entry : vars.entrySet()) {
|
||||
out = out.replace("{{" + entry.getKey() + "}}", entry.getValue());
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
private static byte[] svgToPng(String svgXml, float dpi) throws Exception {
|
||||
PNGTranscoder t = new PNGTranscoder();
|
||||
|
||||
// Esto SÍ es correcto (convierte unidades a mm según DPI)
|
||||
t.addTranscodingHint(PNGTranscoder.KEY_PIXEL_UNIT_TO_MILLIMETER, 25.4f / dpi);
|
||||
|
||||
// ❌ NO uses KEY_AOI con null (provoca tu error)
|
||||
// t.addTranscodingHint(PNGTranscoder.KEY_AOI, null);
|
||||
|
||||
try (ByteArrayOutputStream out = new ByteArrayOutputStream()) {
|
||||
TranscoderInput input = new TranscoderInput(new StringReader(svgXml));
|
||||
TranscoderOutput output = new TranscoderOutput(out);
|
||||
t.transcode(input, output);
|
||||
return out.toByteArray();
|
||||
}
|
||||
}
|
||||
|
||||
private static String sanitizeForBatik(String svg) {
|
||||
String out = svg;
|
||||
|
||||
// 1) Batik: context-stroke/context-fill
|
||||
out = out.replace("context-stroke", "#000");
|
||||
out = out.replace("context-fill", "none");
|
||||
|
||||
// 2) Batik: auto-start-reverse
|
||||
out = out.replace("auto-start-reverse", "auto");
|
||||
|
||||
// 3) Reemplazar markers Triangle*/marker6* -> Arrow2S*
|
||||
out = replaceMarkerAttr(out, "marker-start", "Arrow2Sstart");
|
||||
out = replaceMarkerAttr(out, "marker-end", "Arrow2Send");
|
||||
|
||||
// 4) Lo MISMO pero cuando viene dentro de style="...marker-start:url(#X);..."
|
||||
out = replaceMarkerInStyle(out, "marker-start", "Arrow2Sstart");
|
||||
out = replaceMarkerInStyle(out, "marker-end", "Arrow2Send");
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
private static String replaceMarkerAttr(String svg, String attr, String newId) {
|
||||
// Soporta: marker-start="url(#Triangle-5)" o marker-start='url( #Triangle-5 )'
|
||||
Pattern p = Pattern.compile(
|
||||
"(" + attr
|
||||
+ "\\s*=\\s*)([\"'])\\s*url\\(\\s*#(Triangle[^\\s\\)\"']*|marker6[^\\s\\)\"']*)\\s*\\)\\s*\\2",
|
||||
Pattern.CASE_INSENSITIVE);
|
||||
Matcher m = p.matcher(svg);
|
||||
return m.replaceAll("$1$2url(#" + newId + ")$2");
|
||||
}
|
||||
|
||||
private static String replaceMarkerInStyle(String svg, String prop, String newId) {
|
||||
// Soporta dentro de style: marker-start:url(#Triangle-5) (con espacios
|
||||
// opcionales)
|
||||
Pattern p = Pattern.compile(
|
||||
"(" + prop + "\\s*:\\s*)url\\(\\s*#(Triangle[^\\s\\)\"';]*|marker6[^\\s\\)\"';]*)\\s*\\)",
|
||||
Pattern.CASE_INSENSITIVE);
|
||||
Matcher m = p.matcher(svg);
|
||||
return m.replaceAll("$1url(#" + newId + ")");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,18 @@
|
||||
databaseChangeLog:
|
||||
- changeSet:
|
||||
id: 0027-add-lomo-to-presupuesto
|
||||
author: jjo
|
||||
changes:
|
||||
- addColumn:
|
||||
tableName: presupuesto
|
||||
columns:
|
||||
- column:
|
||||
name: lomo
|
||||
type: DECIMAL(12, 2)
|
||||
defaultValueNumeric: 0
|
||||
afterColumn: papel_interior_id
|
||||
|
||||
rollback:
|
||||
- dropColumn:
|
||||
tableName: presupuesto
|
||||
columnName: lomo
|
||||
@ -0,0 +1,18 @@
|
||||
databaseChangeLog:
|
||||
- changeSet:
|
||||
id: 0028-add-lomo-cubierta-to-presupuesto
|
||||
author: jjo
|
||||
changes:
|
||||
- addColumn:
|
||||
tableName: presupuesto
|
||||
columns:
|
||||
- column:
|
||||
name: lomo_cubierta
|
||||
type: DECIMAL(12, 2)
|
||||
defaultValueNumeric: 0
|
||||
afterColumn: lomo
|
||||
|
||||
rollback:
|
||||
- dropColumn:
|
||||
tableName: presupuesto
|
||||
columnName: lomo_cubierta
|
||||
@ -0,0 +1,43 @@
|
||||
databaseChangeLog:
|
||||
- changeSet:
|
||||
id: 0029-update-estados-pedidos-lineas
|
||||
author: jjo
|
||||
changes:
|
||||
- modifyDataType:
|
||||
tableName: pedidos_lineas
|
||||
columnName: estado
|
||||
newDataType: >
|
||||
enum(
|
||||
'pendiente_pago',
|
||||
'procesando_pago',
|
||||
'denegado_pago',
|
||||
'aprobado',
|
||||
'procesando_pedido',
|
||||
'maquetacion',
|
||||
'haciendo_ferro_digital',
|
||||
'esperando_aceptacion_ferro_digital',
|
||||
'haciendo_ferro',
|
||||
'esperando_aceptacion_ferro',
|
||||
'produccion',
|
||||
'terminado',
|
||||
'enviado',
|
||||
'cancelado'
|
||||
)
|
||||
rollback:
|
||||
- modifyDataType:
|
||||
tableName: pedidos_lineas
|
||||
columnName: estado
|
||||
newDataType: >
|
||||
enum(
|
||||
'pendiente_pago',
|
||||
'procesando_pago',
|
||||
'denegado_pago',
|
||||
'aprobado',
|
||||
'maquetacion',
|
||||
'haciendo_ferro',
|
||||
'esperando_aceptacion_ferro',
|
||||
'produccion',
|
||||
'terminado',
|
||||
'enviado',
|
||||
'cancelado'
|
||||
)
|
||||
@ -1,53 +1,59 @@
|
||||
databaseChangeLog:
|
||||
- include:
|
||||
file: db/changelog/changesets/0001-baseline.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0002-create-pedidos.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0003-create-paises.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0004-create-direcciones.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0005-add-carts-onlyoneshipment.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0006-add-cart-direcciones.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0007-payments-core.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0008-update-cart-status-constraint.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0009-add-composite-unique-txid-type.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0010-drop-unique-tx-gateway.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0011-update-pedidos-presupuesto.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0012--drop-unique-gateway-txid-2.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0013-drop-unique-refund-gateway-id.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0014-create-pedidos-direcciones.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0015-alter-pedidos-lineas-and-presupuesto-estados.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0016-fix-enum-estado-pedidos-lineas.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0017-add-fecha-entrega-to-pedidos-lineas.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0018-change-presupuesto-ch-3.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0019-add-estados-pago-to-pedidos-lineas.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0020-add-estados-pago-to-pedidos-lineas-2.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0021-add-email-and-is-palets-to-pedidos-direcciones.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0022-add-estados-pago-to-pedidos-lineas-3.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0023-facturacion.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0024-series-facturacion-seeder.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0025-create-facturas-direcciones.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0026-drop-entrega-tipo-from-presupuesto.yml
|
||||
databaseChangeLog:
|
||||
- include:
|
||||
file: db/changelog/changesets/0001-baseline.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0002-create-pedidos.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0003-create-paises.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0004-create-direcciones.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0005-add-carts-onlyoneshipment.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0006-add-cart-direcciones.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0007-payments-core.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0008-update-cart-status-constraint.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0009-add-composite-unique-txid-type.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0010-drop-unique-tx-gateway.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0011-update-pedidos-presupuesto.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0012--drop-unique-gateway-txid-2.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0013-drop-unique-refund-gateway-id.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0014-create-pedidos-direcciones.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0015-alter-pedidos-lineas-and-presupuesto-estados.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0016-fix-enum-estado-pedidos-lineas.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0017-add-fecha-entrega-to-pedidos-lineas.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0018-change-presupuesto-ch-3.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0019-add-estados-pago-to-pedidos-lineas.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0020-add-estados-pago-to-pedidos-lineas-2.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0021-add-email-and-is-palets-to-pedidos-direcciones.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0022-add-estados-pago-to-pedidos-lineas-3.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0023-facturacion.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0024-series-facturacion-seeder.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0025-create-facturas-direcciones.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0026-drop-entrega-tipo-from-presupuesto.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0027-add-lomo-to-presupuesto.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0028-add-lomo-cubierta-to-presupuesto.yml
|
||||
- include:
|
||||
file: db/changelog/changesets/0029-update-estados-pedidos-lineas.yml
|
||||
|
||||
@ -29,6 +29,8 @@ cart.shipping.tipo-envio=Tipo de envío:
|
||||
cart.shipping.errors.units-error=Por favor, introduzca un número válido entre 1 y {max}.
|
||||
cart.shipping.errors.noAddressSelected=Debe seleccionar una dirección de envío para el pedido.
|
||||
cart.shipping.errors.fillAddressesItems=Debe seleccionar una dirección de envío para cada artículo de la cesta.
|
||||
cart.shipping.errors.fillBillingAddressItems=Debe seleccionar una dirección de facturación para poder realizar el pago.
|
||||
|
||||
|
||||
cart.resumen.title=Resumen de la cesta
|
||||
cart.resumen.base=Base imponible
|
||||
|
||||
@ -22,10 +22,12 @@ pedido.estado.pendiente_pago=Pendiente de pago
|
||||
pedido.estado.procesando_pago=Procesando pago
|
||||
pedido.estado.denegado_pago=Pago denegado
|
||||
pedido.estado.aprobado=Aprobado
|
||||
pedido.estado.procesando_pedido=Procesando pedido
|
||||
pedido.estado.maquetacion=Maquetación
|
||||
pedido.estado.haciendo_ferro=Haciendo ferro
|
||||
pedido.estado.esperando_aceptacion_ferro=Esperando aceptación de ferro
|
||||
pedido.estado.ferro_cliente=Esperando aprobación de ferro
|
||||
pedido.estado.haciendo_ferro_digital=Haciendo ferro digital
|
||||
pedido.estado.esperando_aceptacion_ferro_digital=Esperando aceptación de ferro digital
|
||||
pedido.estado.haciendo_ferro=Haciendo ejemplar de prueba
|
||||
pedido.estado.esperando_aceptacion_ferro=Esperando aceptación de ejemplar de prueba
|
||||
pedido.estado.produccion=Producción
|
||||
pedido.estado.terminado=Terminado
|
||||
pedido.estado.enviado=Enviado
|
||||
|
||||
@ -117,6 +117,10 @@ presupuesto.continuar-cubierta=Diseño cubierta
|
||||
# Pestaña cubierta
|
||||
presupuesto.plantilla-cubierta=Plantilla de cubierta
|
||||
presupuesto.plantilla-cubierta-text=Recuerde que la cubierta es el conjunto formado por la portada, contraportada, lomo y solapas, en caso de que las lleve.<br/><br/><br/>Si tiene dudas de las medidas puede solicitarnos una plantilla cuando haga el pedido.
|
||||
presupuesto.plantilla-cubierta.portada=Portada
|
||||
presupuesto.plantilla-cubierta.contraportada=Contraportada
|
||||
presupuesto.plantilla-cubierta.lomo=Lomo
|
||||
presupuesto.plantilla-cubierta.solapa=Solapa
|
||||
presupuesto.tipo-cubierta=Tipo de cubierta
|
||||
presupuesto.tipo-cubierta-descripcion=Seleccione el tipo de cubierta y sus opciones
|
||||
presupuesto.tapa-blanda=Tapa blanda
|
||||
@ -234,6 +238,7 @@ presupuesto.resumen-texto-acabado-cubierta= <li>Acabado: {0}. </li>
|
||||
presupuesto.resumen-texto-end=</ul>
|
||||
presupuesto.resumen-texto-sobrecubierta=<li>Sobrecubierta impresa en {0} {1} gr. <ul><li>Acabado: {2}</li><li>Solapas: {3} mm.</li></ul></li>
|
||||
presupuesto.resumen-texto-faja=<li>Faja impresa en {0} {1} gr. con un alto de {2} mm. <ul><li>Acabado: {3}</li><li>Solapas: {4} mm.</li></ul></li>
|
||||
presupuesto.resumen-lomos=<li>Dimensiones de los lomos: <ul><li>Lomo interior: {0} mm</li><li>Lomo total: {1} mm</li></ul></li>
|
||||
presupuesto.resumen-deposito-legal=Ejemplares para el Depósito Legal
|
||||
presupuesto.volver-extras=Extras del libro
|
||||
presupuesto.resumen.inicie-sesion=Inicie sesión para continuar
|
||||
|
||||
@ -0,0 +1,674 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="189.90369mm"
|
||||
height="122.48086mm"
|
||||
viewBox="0 0 189.90369 122.48086"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
inkscape:version="1.4.3 (0d15f75, 2025-12-25)"
|
||||
sodipodi:docname="plantilla-grapado-solapas.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:zoom="1.4378367"
|
||||
inkscape:cx="427.37815"
|
||||
inkscape:cy="265.32915"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1009"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs1">
|
||||
<rect
|
||||
x="148.51912"
|
||||
y="407.19812"
|
||||
width="184.41943"
|
||||
height="125.40522"
|
||||
id="rect7" />
|
||||
<rect
|
||||
x="171.09036"
|
||||
y="459.02292"
|
||||
width="159.26704"
|
||||
height="90.413605"
|
||||
id="rect3" />
|
||||
<marker
|
||||
id="Arrow2Sstart"
|
||||
inkscape:isstock="true"
|
||||
inkscape:stockid="Arrow2Sstart"
|
||||
orient="auto"
|
||||
refX="0"
|
||||
refY="0"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
d="M 8.72,4.03 -2.21,0.02 8.72,-4 c -1.75,2.37 -1.74,5.62 0,8.03 z"
|
||||
id="Arrow2SstartPath"
|
||||
style="fill:#000000;fill-opacity:1;stroke:none"
|
||||
transform="matrix(0.3,0,0,0.3,-0.69,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
id="Arrow2Send"
|
||||
inkscape:isstock="true"
|
||||
inkscape:stockid="Arrow2Send"
|
||||
orient="auto"
|
||||
refX="0"
|
||||
refY="0"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
d="M 8.72,4.03 -2.21,0.02 8.72,-4 c -1.75,2.37 -1.74,5.62 0,8.03 z"
|
||||
id="Arrow2SendPath"
|
||||
style="fill:#000000;fill-opacity:1;stroke:none"
|
||||
transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Triangle-5"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135-4" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6-3"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path6-1" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Triangle-5-3"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135-4-1" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6-3-9"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path6-1-8" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Triangle-5-3-6"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135-4-1-1" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6-3-9-5"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path6-1-8-4" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Triangle-5-3-4"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135-4-1-12" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6-3-9-0"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path6-1-8-0" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Triangle-5-3-6-1"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135-4-1-1-7" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6-3-9-5-7"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path6-1-8-4-7" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Triangle-5-1-9"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135-4-3-0" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6-3-8-0"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path6-1-7-6" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Triangle-5-1-9-0"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135-4-3-0-6" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6-3-8-0-6"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path6-1-7-6-1" />
|
||||
</marker>
|
||||
</defs>
|
||||
<g
|
||||
inkscape:label="Capa 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-14.044687,-5.7512817)">
|
||||
<rect
|
||||
style="opacity:1;fill:#dee3db;fill-opacity:1;stroke:#8292a8;stroke-width:0.624;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
id="rect2"
|
||||
width="182.32635"
|
||||
height="115.28469"
|
||||
x="14.044687"
|
||||
y="5.7512817" />
|
||||
<g
|
||||
id="g2"
|
||||
transform="translate(2.2085342,-0.96640021)">
|
||||
<rect
|
||||
style="opacity:1;fill:#c9d9d4;fill-opacity:1;stroke:#8292a8;stroke-width:1.69881;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1"
|
||||
width="82.014671"
|
||||
height="94.487244"
|
||||
x="22.535099"
|
||||
y="17.283327" />
|
||||
<rect
|
||||
style="opacity:1;fill:#c9d9d4;fill-opacity:1;stroke:#8292a8;stroke-width:1.66258;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1-8"
|
||||
width="78.523048"
|
||||
height="94.523483"
|
||||
x="104.56826"
|
||||
y="17.359972" />
|
||||
<rect
|
||||
style="fill:#c9d9d4;fill-opacity:1;stroke:#8292a8;stroke-width:1.4395;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
id="rect1-8-1-7"
|
||||
width="18.953001"
|
||||
height="94.775017"
|
||||
x="164.55183"
|
||||
y="17.203754" />
|
||||
<path
|
||||
style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:1.157;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
d="m 23.921577,124.62439 58.700742,-0.18401"
|
||||
id="path4" />
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.820919;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:1.64183, 0.820919;stroke-dashoffset:0.328368;stroke-opacity:1;marker-start:url(#Triangle-5);marker-end:url(#marker6-3);paint-order:normal"
|
||||
d="m 107.44694,98.144427 54.56369,0.224688"
|
||||
id="path5-3"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.820919;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:1.64183, 0.820919;stroke-dashoffset:0.328368;stroke-opacity:1;marker-start:url(#Triangle-5-3);marker-end:url(#marker6-3-9);paint-order:normal"
|
||||
d="M 43.754233,98.310783 102.27388,98.02943"
|
||||
id="path5-3-0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.820919;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:1.64183, 0.820919;stroke-dashoffset:0.328368;stroke-opacity:1;marker-start:url(#Triangle-5-3-6);marker-end:url(#marker6-3-9-5);paint-order:normal"
|
||||
d="M 114.29411,109.14665 113.88575,19.631562"
|
||||
id="path5-3-0-9"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.820919;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:1.64183, 0.820919;stroke-dashoffset:0.328368;stroke-opacity:1;marker-start:url(#Triangle-5-3-4);marker-end:url(#marker6-3-9-0);paint-order:normal"
|
||||
d="m 13.752058,124.20085 178.229792,0.0889"
|
||||
id="path5-3-0-6"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.820919;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:1.64183, 0.820919;stroke-dashoffset:0.328368;stroke-opacity:1;marker-start:url(#Triangle-5-3-6-1);marker-end:url(#marker6-3-9-5-7);paint-order:normal"
|
||||
d="M 196.99745,120.60716 196.58909,9.1942972"
|
||||
id="path5-3-0-9-3"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</g>
|
||||
<g
|
||||
id="g4"
|
||||
transform="matrix(1.2478873,0,0,1.2478873,-26.713293,-112.63102)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text3"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.58611px;line-height:0;font-family:Arial;-inkscape-font-specification:'Arial, Bold';font-variant-ligatures:no-common-ligatures discretionary-ligatures no-contextual;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;white-space:pre-wrap;shape-inside:url(#rect4);display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.37291;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
x="27.970261"
|
||||
y="0"
|
||||
transform="translate(4.9613536,4.4099808)"><tspan
|
||||
x="57.642538"
|
||||
y="136.9912"
|
||||
id="tspan6"><tspan
|
||||
style="font-variant-ligatures:normal;text-orientation:upright"
|
||||
id="tspan5">{{contraportada}}</tspan></tspan></text>
|
||||
<rect
|
||||
style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:0.825551;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
id="rect4"
|
||||
width="50.751522"
|
||||
height="10.636283"
|
||||
x="51.35844"
|
||||
y="135.72629" />
|
||||
</g>
|
||||
<g
|
||||
id="g4-2"
|
||||
transform="matrix(1.2478873,0,0,1.2478873,41.181684,-112.61247)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text3-7"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.58611px;line-height:0;font-family:Arial;-inkscape-font-specification:'Arial, Bold';font-variant-ligatures:no-common-ligatures discretionary-ligatures no-contextual;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;white-space:pre-wrap;shape-inside:url(#rect4-6);display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.37291;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
x="27.970261"
|
||||
y="0"
|
||||
transform="translate(2.1290346,4.4099808)"><tspan
|
||||
x="64.690151"
|
||||
y="136.9912"
|
||||
id="tspan9"><tspan
|
||||
style="font-variant-ligatures:normal;text-orientation:upright"
|
||||
id="tspan8">{{portada}}</tspan></tspan></text>
|
||||
<rect
|
||||
style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:0.825551;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
id="rect4-6"
|
||||
width="50.751522"
|
||||
height="10.636283"
|
||||
x="51.35844"
|
||||
y="135.72629" />
|
||||
</g>
|
||||
<g
|
||||
id="g4-2-9"
|
||||
transform="matrix(0,-1.2478873,1.2478873,0,0.59255852,162.33513)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text3-7-3"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.58611px;line-height:0;font-family:Arial;-inkscape-font-specification:'Arial, Bold';font-variant-ligatures:no-common-ligatures discretionary-ligatures no-contextual;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;white-space:pre-wrap;shape-inside:url(#rect4-6-8);display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.37291;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
x="27.970261"
|
||||
y="0"
|
||||
transform="translate(2.5239521,4.4099808)"><tspan
|
||||
x="65.841054"
|
||||
y="136.9912"
|
||||
id="tspan11"><tspan
|
||||
style="font-variant-ligatures:normal;text-orientation:upright"
|
||||
id="tspan10">{{solapa}}</tspan></tspan></text>
|
||||
<rect
|
||||
style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:0.825551;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
id="rect4-6-8"
|
||||
width="50.751522"
|
||||
height="10.636283"
|
||||
x="51.35844"
|
||||
y="135.72629" />
|
||||
</g>
|
||||
<rect
|
||||
style="fill:#c9d9d4;fill-opacity:1;stroke:#8292a8;stroke-width:1.4395;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
id="rect1-8-1-7-8"
|
||||
width="18.953001"
|
||||
height="94.775017"
|
||||
x="24.558743"
|
||||
y="16.180035" />
|
||||
<g
|
||||
id="g4-2-9-0"
|
||||
transform="matrix(0,-1.2478873,1.2478873,0,-141.60976,162.27774)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text3-7-3-2"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.58611px;line-height:0;font-family:Arial;-inkscape-font-specification:'Arial, Bold';font-variant-ligatures:no-common-ligatures discretionary-ligatures no-contextual;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;white-space:pre-wrap;shape-inside:url(#rect4-6-8-6);display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.37291;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
x="27.970261"
|
||||
y="0"
|
||||
transform="translate(2.5239521,4.4099808)"><tspan
|
||||
x="65.841054"
|
||||
y="136.9912"
|
||||
id="tspan13"><tspan
|
||||
style="font-variant-ligatures:normal;text-orientation:upright"
|
||||
id="tspan12">{{solapa}}</tspan></tspan></text>
|
||||
<rect
|
||||
style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:0.825551;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
id="rect4-6-8-6"
|
||||
width="50.751522"
|
||||
height="10.636283"
|
||||
x="51.35844"
|
||||
y="135.72629" />
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52777px;line-height:0;font-family:Arial;-inkscape-font-specification:'Arial Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-orientation:upright;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:none;stroke-dashoffset:0.994541;stroke-opacity:1;paint-order:normal"
|
||||
x="-65.329605"
|
||||
y="113.37225"
|
||||
id="text13-8-5"
|
||||
transform="rotate(-90)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan13-2-3"
|
||||
style="stroke-width:0"
|
||||
x="-65.32299"
|
||||
y="113.37225">{{alto}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52777px;line-height:0;font-family:Arial;-inkscape-font-specification:'Arial Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-orientation:upright;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:none;stroke-dashoffset:0.994541;stroke-opacity:1;paint-order:normal"
|
||||
x="137.0002"
|
||||
y="101.62363"
|
||||
id="text13-3"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan13-6"
|
||||
style="stroke-width:0"
|
||||
x="137.00682"
|
||||
y="101.62363">{{ancho}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52777px;line-height:0;font-family:Arial;-inkscape-font-specification:'Arial Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-orientation:upright;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:none;stroke-dashoffset:0.994541;stroke-opacity:1;paint-order:normal"
|
||||
x="75.285461"
|
||||
y="101.62363"
|
||||
id="text13-3-1"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan13-6-4"
|
||||
style="stroke-width:0"
|
||||
x="75.292076"
|
||||
y="101.62363">{{ancho}} mm</tspan></text>
|
||||
<g
|
||||
id="g4-7-0"
|
||||
transform="matrix(1.2478873,0,0,1.2478873,-134.4255,19.484879)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:3.52778px;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="105.07859"
|
||||
y="126.83306"
|
||||
id="text7"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52778px;font-family:Arial, boldl;-inkscape-font-specification:'Arial, boldl Bold';stroke-width:0.264583"
|
||||
x="105.08521"
|
||||
y="126.83306">{{ancho_t}} mm</tspan></text>
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.820919;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:1.64183, 0.820919;stroke-dashoffset:0.328368;stroke-opacity:1;marker-start:url(#Triangle-5-1-9);marker-end:url(#marker6-3-8-0);paint-order:normal"
|
||||
d="m 169.57878,97.434632 13.02331,0.06153"
|
||||
id="path5-3-7-8"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:2.82222px;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="176.14073"
|
||||
y="101.38786"
|
||||
id="text7-7-3"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7-1-4"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.82222px;font-family:Arial, boldl;-inkscape-font-specification:'Arial, boldl Bold';stroke-width:0.264583"
|
||||
x="176.14735"
|
||||
y="101.38786">{{solapa_t}} mm</tspan></text>
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.820919;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:1.64183, 0.820919;stroke-dashoffset:0.328368;stroke-opacity:1;marker-start:url(#Triangle-5-1-9-0);marker-end:url(#marker6-3-8-0-6);paint-order:normal"
|
||||
d="m 27.840231,97.50449 13.023235,0.06153"
|
||||
id="path5-3-7-8-9"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:2.82222px;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="34.403442"
|
||||
y="101.45772"
|
||||
id="text7-7-3-6"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7-1-4-3"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.82222px;font-family:Arial, boldl;-inkscape-font-specification:'Arial, boldl Bold';stroke-width:0.264583"
|
||||
x="34.410057"
|
||||
y="101.45772">{{solapa_t}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:3.52778px;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="-63.871456"
|
||||
y="202.53311"
|
||||
id="text7-8"
|
||||
transform="rotate(-90)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7-2"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52778px;font-family:Arial, boldl;-inkscape-font-specification:'Arial, boldl Bold';stroke-width:0.264583"
|
||||
x="-63.864841"
|
||||
y="202.53311">{{alto_t}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="105.14069"
|
||||
y="11.526331"
|
||||
id="text7-1"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7-6"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';stroke-width:0.264583"
|
||||
x="105.14731"
|
||||
y="11.526331">{{sangrado}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="105.14069"
|
||||
y="117.33289"
|
||||
id="text7-1-1"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7-6-8"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';stroke-width:0.264583"
|
||||
x="105.1473"
|
||||
y="117.33289">{{sangrado}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="-63.443714"
|
||||
y="20.223143"
|
||||
id="text7-1-5"
|
||||
transform="rotate(-90)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7-6-4"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';stroke-width:0.264583"
|
||||
x="-63.437099"
|
||||
y="20.223143">{{sangrado}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="-63.462257"
|
||||
y="192.31326"
|
||||
id="text7-1-5-3"
|
||||
transform="rotate(-90)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7-6-4-4"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';stroke-width:0.264583"
|
||||
x="-63.455643"
|
||||
y="192.31326">{{sangrado}} mm</tspan></text>
|
||||
<path
|
||||
style="fill:#ff0000;stroke:#8292a8;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 106.42015,36.849792 v 6.808552"
|
||||
id="path7" />
|
||||
<path
|
||||
style="fill:#000000;stroke:#000000;stroke-width:0.865;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 106.97219,35.561688 v 7.728625"
|
||||
id="path8" />
|
||||
<path
|
||||
style="fill:#000000;stroke:#000000;stroke-width:0.865;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 106.81658,77.188818 v 7.728625"
|
||||
id="path8-9" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 30 KiB |
@ -0,0 +1,502 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="189.90369mm"
|
||||
height="122.48086mm"
|
||||
viewBox="0 0 189.90369 122.48086"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
inkscape:version="1.4.3 (0d15f75, 2025-12-25)"
|
||||
sodipodi:docname="plantilla-grapado.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:zoom="1.4378367"
|
||||
inkscape:cx="427.37815"
|
||||
inkscape:cy="265.32915"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1009"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="g2" />
|
||||
<defs
|
||||
id="defs1">
|
||||
<rect
|
||||
x="148.51912"
|
||||
y="407.19812"
|
||||
width="184.41943"
|
||||
height="125.40522"
|
||||
id="rect7" />
|
||||
<rect
|
||||
x="171.09036"
|
||||
y="459.02292"
|
||||
width="159.26704"
|
||||
height="90.413605"
|
||||
id="rect3" />
|
||||
<marker
|
||||
id="Arrow2Sstart"
|
||||
inkscape:isstock="true"
|
||||
inkscape:stockid="Arrow2Sstart"
|
||||
orient="auto"
|
||||
refX="0"
|
||||
refY="0"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
d="M 8.72,4.03 -2.21,0.02 8.72,-4 c -1.75,2.37 -1.74,5.62 0,8.03 z"
|
||||
id="Arrow2SstartPath"
|
||||
style="fill:#000000;fill-opacity:1;stroke:none"
|
||||
transform="matrix(0.3,0,0,0.3,-0.69,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
id="Arrow2Send"
|
||||
inkscape:isstock="true"
|
||||
inkscape:stockid="Arrow2Send"
|
||||
orient="auto"
|
||||
refX="0"
|
||||
refY="0"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
d="M 8.72,4.03 -2.21,0.02 8.72,-4 c -1.75,2.37 -1.74,5.62 0,8.03 z"
|
||||
id="Arrow2SendPath"
|
||||
style="fill:#000000;fill-opacity:1;stroke:none"
|
||||
transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Triangle-5"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135-4" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6-3"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path6-1" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Triangle-5-3"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135-4-1" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6-3-9"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path6-1-8" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Triangle-5-3-6"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135-4-1-1" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6-3-9-5"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path6-1-8-4" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Triangle-5-3-4"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135-4-1-12" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6-3-9-0"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path6-1-8-0" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Triangle-5-3-6-1"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135-4-1-1-7" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6-3-9-5-7"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path6-1-8-4-7" />
|
||||
</marker>
|
||||
</defs>
|
||||
<g
|
||||
inkscape:label="Capa 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-14.044687,-5.7512817)">
|
||||
<rect
|
||||
style="opacity:1;fill:#dee3db;fill-opacity:1;stroke:#8292a8;stroke-width:0.624;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
id="rect2"
|
||||
width="182.32635"
|
||||
height="115.28469"
|
||||
x="14.044687"
|
||||
y="5.7512817" />
|
||||
<g
|
||||
id="g2"
|
||||
transform="translate(2.2085342,-0.96640021)">
|
||||
<rect
|
||||
style="opacity:1;fill:#c9d9d4;fill-opacity:1;stroke:#8292a8;stroke-width:1.69881;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1"
|
||||
width="82.014671"
|
||||
height="94.487244"
|
||||
x="22.535099"
|
||||
y="17.283327" />
|
||||
<rect
|
||||
style="opacity:1;fill:#c9d9d4;fill-opacity:1;stroke:#8292a8;stroke-width:1.66258;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1-8"
|
||||
width="78.523048"
|
||||
height="94.523483"
|
||||
x="104.56826"
|
||||
y="17.359972" />
|
||||
<path
|
||||
style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:1.157;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
d="m 23.921577,124.62439 58.700742,-0.18401"
|
||||
id="path4" />
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.820919;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:1.64183, 0.820919;stroke-dashoffset:0.328368;stroke-opacity:1;marker-start:url(#Triangle-5);marker-end:url(#marker6-3);paint-order:normal"
|
||||
d="m 107.44694,98.144427 72.96518,0.224688"
|
||||
id="path5-3"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.820919;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:1.64183, 0.820919;stroke-dashoffset:0.328368;stroke-opacity:1;marker-start:url(#Triangle-5-3);marker-end:url(#marker6-3-9);paint-order:normal"
|
||||
d="M 24.800702,97.758738 102.27388,98.02943"
|
||||
id="path5-3-0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.820919;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:1.64183, 0.820919;stroke-dashoffset:0.328368;stroke-opacity:1;marker-start:url(#Triangle-5-3-6);marker-end:url(#marker6-3-9-5);paint-order:normal"
|
||||
d="M 114.29411,109.14665 113.88575,19.631562"
|
||||
id="path5-3-0-9"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.820919;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:1.64183, 0.820919;stroke-dashoffset:0.328368;stroke-opacity:1;marker-start:url(#Triangle-5-3-4);marker-end:url(#marker6-3-9-0);paint-order:normal"
|
||||
d="m 13.752058,124.20085 178.229792,0.0889"
|
||||
id="path5-3-0-6"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.820919;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:1.64183, 0.820919;stroke-dashoffset:0.328368;stroke-opacity:1;marker-start:url(#Triangle-5-3-6-1);marker-end:url(#marker6-3-9-5-7);paint-order:normal"
|
||||
d="M 196.99745,120.60716 196.58909,9.1942972"
|
||||
id="path5-3-0-9-3"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</g>
|
||||
<g
|
||||
id="g4"
|
||||
transform="matrix(1.2478873,0,0,1.2478873,-26.713293,-112.63102)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text3"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.58611px;line-height:0;font-family:Arial;-inkscape-font-specification:'Arial, Bold';font-variant-ligatures:no-common-ligatures discretionary-ligatures no-contextual;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;white-space:pre-wrap;shape-inside:url(#rect4);display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.37291;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
x="27.970261"
|
||||
y="0"
|
||||
transform="translate(-2.6328943,4.4099808)"><tspan
|
||||
x="57.642538"
|
||||
y="136.9912"
|
||||
id="tspan6"><tspan
|
||||
style="font-variant-ligatures:normal;text-orientation:upright"
|
||||
id="tspan5">{{contraportada}}</tspan></tspan></text>
|
||||
<rect
|
||||
style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:0.825551;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
id="rect4"
|
||||
width="50.751522"
|
||||
height="10.636283"
|
||||
x="51.35844"
|
||||
y="135.72629" />
|
||||
</g>
|
||||
<g
|
||||
id="g4-2"
|
||||
transform="matrix(1.2478873,0,0,1.2478873,50.382429,-112.61247)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text3-7"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.58611px;line-height:0;font-family:Arial;-inkscape-font-specification:'Arial, Bold';font-variant-ligatures:no-common-ligatures discretionary-ligatures no-contextual;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;white-space:pre-wrap;shape-inside:url(#rect4-6);display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.37291;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
x="27.970261"
|
||||
y="0"
|
||||
transform="translate(2.1290346,4.4099808)"><tspan
|
||||
x="64.690151"
|
||||
y="136.9912"
|
||||
id="tspan9"><tspan
|
||||
style="font-variant-ligatures:normal;text-orientation:upright"
|
||||
id="tspan8">{{portada}}</tspan></tspan></text>
|
||||
<rect
|
||||
style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:0.825551;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
id="rect4-6"
|
||||
width="50.751522"
|
||||
height="10.636283"
|
||||
x="51.35844"
|
||||
y="135.72629" />
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52777px;line-height:0;font-family:Arial;-inkscape-font-specification:'Arial Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-orientation:upright;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:none;stroke-dashoffset:0.994541;stroke-opacity:1;paint-order:normal"
|
||||
x="-65.329605"
|
||||
y="113.37225"
|
||||
id="text13-8-5"
|
||||
transform="rotate(-90)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan13-2-3"
|
||||
style="stroke-width:0"
|
||||
x="-65.32299"
|
||||
y="113.37225">{{alto}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52777px;line-height:0;font-family:Arial;-inkscape-font-specification:'Arial Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-orientation:upright;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:none;stroke-dashoffset:0.994541;stroke-opacity:1;paint-order:normal"
|
||||
x="146.20094"
|
||||
y="101.62363"
|
||||
id="text13-3"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan13-6"
|
||||
style="stroke-width:0"
|
||||
x="146.20757"
|
||||
y="101.62363">{{ancho}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52777px;line-height:0;font-family:Arial;-inkscape-font-specification:'Arial Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-orientation:upright;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:none;stroke-dashoffset:0.994541;stroke-opacity:1;paint-order:normal"
|
||||
x="65.808701"
|
||||
y="101.62363"
|
||||
id="text13-3-1"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan13-6-4"
|
||||
style="stroke-width:0"
|
||||
x="65.815315"
|
||||
y="101.62363">{{ancho}} mm</tspan></text>
|
||||
<g
|
||||
id="g4-7-0"
|
||||
transform="matrix(1.2478873,0,0,1.2478873,-134.4255,19.484879)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:3.52778px;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="105.07859"
|
||||
y="126.83306"
|
||||
id="text7"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52778px;font-family:Arial, boldl;-inkscape-font-specification:'Arial, boldl Bold';stroke-width:0.264583"
|
||||
x="105.08521"
|
||||
y="126.83306">{{ancho_t}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:3.52778px;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="-63.871456"
|
||||
y="202.53311"
|
||||
id="text7-8"
|
||||
transform="rotate(-90)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7-2"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52778px;font-family:Arial, boldl;-inkscape-font-specification:'Arial, boldl Bold';stroke-width:0.264583"
|
||||
x="-63.864841"
|
||||
y="202.53311">{{alto_t}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="105.14069"
|
||||
y="11.526331"
|
||||
id="text7-1"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7-6"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';stroke-width:0.264583"
|
||||
x="105.14731"
|
||||
y="11.526331">{{sangrado}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="105.14069"
|
||||
y="117.33289"
|
||||
id="text7-1-1"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7-6-8"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';stroke-width:0.264583"
|
||||
x="105.1473"
|
||||
y="117.33289">{{sangrado}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="-63.443714"
|
||||
y="20.223143"
|
||||
id="text7-1-5"
|
||||
transform="rotate(-90)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7-6-4"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';stroke-width:0.264583"
|
||||
x="-63.437099"
|
||||
y="20.223143">{{sangrado}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="-63.462257"
|
||||
y="192.31326"
|
||||
id="text7-1-5-3"
|
||||
transform="rotate(-90)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7-6-4-4"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';stroke-width:0.264583"
|
||||
x="-63.455643"
|
||||
y="192.31326">{{sangrado}} mm</tspan></text>
|
||||
<path
|
||||
style="fill:#ff0000;stroke:#8292a8;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 106.42015,36.849792 v 6.808552"
|
||||
id="path7" />
|
||||
<path
|
||||
style="fill:#000000;stroke:#000000;stroke-width:0.865;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 106.97219,35.561688 v 7.728625"
|
||||
id="path8" />
|
||||
<path
|
||||
style="fill:#000000;stroke:#000000;stroke-width:0.865;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 106.81658,77.188818 v 7.728625"
|
||||
id="path8-9" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 22 KiB |
@ -0,0 +1,748 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="189.90369mm"
|
||||
height="122.48086mm"
|
||||
viewBox="0 0 189.90369 122.48086"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
inkscape:version="1.4.3 (0d15f75, 2025-12-25)"
|
||||
sodipodi:docname="plantilla-solapas.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:zoom="1.0167041"
|
||||
inkscape:cx="370.31423"
|
||||
inkscape:cy="136.22449"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1009"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs1">
|
||||
<rect
|
||||
x="148.51912"
|
||||
y="407.19812"
|
||||
width="184.41943"
|
||||
height="125.40522"
|
||||
id="rect7" />
|
||||
<rect
|
||||
x="171.09036"
|
||||
y="459.02292"
|
||||
width="159.26704"
|
||||
height="90.413605"
|
||||
id="rect3" />
|
||||
<marker
|
||||
id="Arrow2Sstart"
|
||||
inkscape:isstock="true"
|
||||
inkscape:stockid="Arrow2Sstart"
|
||||
orient="auto"
|
||||
refX="0"
|
||||
refY="0"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
d="M 8.72,4.03 -2.21,0.02 8.72,-4 c -1.75,2.37 -1.74,5.62 0,8.03 z"
|
||||
id="Arrow2SstartPath"
|
||||
style="fill:#000000;fill-opacity:1;stroke:none"
|
||||
transform="matrix(0.3,0,0,0.3,-0.69,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
id="Arrow2Send"
|
||||
inkscape:isstock="true"
|
||||
inkscape:stockid="Arrow2Send"
|
||||
orient="auto"
|
||||
refX="0"
|
||||
refY="0"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
d="M 8.72,4.03 -2.21,0.02 8.72,-4 c -1.75,2.37 -1.74,5.62 0,8.03 z"
|
||||
id="Arrow2SendPath"
|
||||
style="fill:#000000;fill-opacity:1;stroke:none"
|
||||
transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Triangle-5"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135-4" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6-3"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path6-1" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Triangle-5-1"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135-4-3" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6-3-8"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path6-1-7" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Triangle-5-3"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135-4-1" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6-3-9"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path6-1-8" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Triangle-5-3-6"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135-4-1-1" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6-3-9-5"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path6-1-8-4" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Triangle-5-3-4"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135-4-1-12" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6-3-9-0"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path6-1-8-0" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Triangle-5-3-6-1"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135-4-1-1-7" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6-3-9-5-7"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path6-1-8-4-7" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Triangle-5-1-9"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135-4-3-0" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6-3-8-0"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path6-1-7-6" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Triangle-5-1-9-0"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135-4-3-0-6" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6-3-8-0-6"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path6-1-7-6-1" />
|
||||
</marker>
|
||||
</defs>
|
||||
<g
|
||||
inkscape:label="Capa 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-14.044687,-5.7512817)">
|
||||
<rect
|
||||
style="opacity:1;fill:#dee3db;fill-opacity:1;stroke:#8292a8;stroke-width:0.624;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
id="rect2"
|
||||
width="182.32635"
|
||||
height="115.28469"
|
||||
x="14.044687"
|
||||
y="5.7512817" />
|
||||
<g
|
||||
id="g2"
|
||||
transform="translate(2.2085342,-0.96640021)">
|
||||
<rect
|
||||
style="opacity:1;fill:#c9d9d4;fill-opacity:1;stroke:#8292a8;stroke-width:1.57858;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1"
|
||||
width="70.725983"
|
||||
height="94.607483"
|
||||
x="22.474981"
|
||||
y="17.039194" />
|
||||
<rect
|
||||
style="opacity:1;fill:#c9d9d4;fill-opacity:1;stroke:#8292a8;stroke-width:1.57858;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1-8"
|
||||
width="70.725983"
|
||||
height="94.607483"
|
||||
x="112.79771"
|
||||
y="17.057735" />
|
||||
<rect
|
||||
style="fill:#c9d9d4;fill-opacity:1;stroke:#8292a8;stroke-width:1.4395;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
id="rect1-8-1"
|
||||
width="18.953001"
|
||||
height="94.775017"
|
||||
x="93.596756"
|
||||
y="16.97538" />
|
||||
<rect
|
||||
style="fill:#c9d9d4;fill-opacity:1;stroke:#8292a8;stroke-width:1.4395;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
id="rect1-8-1-7"
|
||||
width="18.953001"
|
||||
height="94.775017"
|
||||
x="164.55183"
|
||||
y="17.019739" />
|
||||
<path
|
||||
style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:1.157;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
d="m 23.921577,124.62439 58.700742,-0.18401"
|
||||
id="path4" />
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.820919;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:1.64183, 0.820919;stroke-dashoffset:0.328368;stroke-opacity:1;marker-start:url(#Triangle-5);marker-end:url(#marker6-3);paint-order:normal"
|
||||
d="m 115.91162,98.144427 46.09901,0.224688"
|
||||
id="path5-3"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.820919;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:1.64183, 0.820919;stroke-dashoffset:0.328368;stroke-opacity:1;marker-start:url(#Triangle-5-3);marker-end:url(#marker6-3-9);paint-order:normal"
|
||||
d="M 43.754233,98.310783 90.128901,98.02943"
|
||||
id="path5-3-0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.820919;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:1.64183, 0.820919;stroke-dashoffset:0.328368;stroke-opacity:1;marker-start:url(#Triangle-5-3-6);marker-end:url(#marker6-3-9-5);paint-order:normal"
|
||||
d="M 123.29,109.14665 122.88164,19.631562"
|
||||
id="path5-3-0-9"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.820919;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:1.64183, 0.820919;stroke-dashoffset:0.328368;stroke-opacity:1;marker-start:url(#Triangle-5-1);marker-end:url(#marker6-3-8);paint-order:normal"
|
||||
d="m 96.545605,29.398843 13.023315,0.06153"
|
||||
id="path5-3-7"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.820919;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:1.64183, 0.820919;stroke-dashoffset:0.328368;stroke-opacity:1;marker-start:url(#Triangle-5-3-4);marker-end:url(#marker6-3-9-0);paint-order:normal"
|
||||
d="m 13.752058,124.20085 178.229792,0.0889"
|
||||
id="path5-3-0-6"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.820919;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:1.64183, 0.820919;stroke-dashoffset:0.328368;stroke-opacity:1;marker-start:url(#Triangle-5-3-6-1);marker-end:url(#marker6-3-9-5-7);paint-order:normal"
|
||||
d="M 196.99745,120.60716 196.58909,9.1942972"
|
||||
id="path5-3-0-9-3"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</g>
|
||||
<g
|
||||
id="g4"
|
||||
transform="matrix(1.2478873,0,0,1.2478873,-26.713293,-112.63102)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text3"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.58611px;line-height:0;font-family:Arial;-inkscape-font-specification:'Arial, Bold';font-variant-ligatures:no-common-ligatures discretionary-ligatures no-contextual;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;white-space:pre-wrap;shape-inside:url(#rect4);display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.37291;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
x="27.970261"
|
||||
y="0"
|
||||
transform="translate(0.00878441,4.4099808)"><tspan
|
||||
x="57.642538"
|
||||
y="136.9912"
|
||||
id="tspan9"><tspan
|
||||
style="font-variant-ligatures:normal;text-orientation:upright"
|
||||
id="tspan8">{{contraportada}}</tspan></tspan></text>
|
||||
<rect
|
||||
style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:0.825551;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
id="rect4"
|
||||
width="50.751522"
|
||||
height="10.636283"
|
||||
x="51.35844"
|
||||
y="135.72629" />
|
||||
</g>
|
||||
<g
|
||||
id="g4-2"
|
||||
transform="matrix(1.2478873,0,0,1.2478873,45.088586,-112.61247)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text3-7"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.58611px;line-height:0;font-family:Arial;-inkscape-font-specification:'Arial, Bold';font-variant-ligatures:no-common-ligatures discretionary-ligatures no-contextual;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;white-space:pre-wrap;shape-inside:url(#rect4-6);display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.37291;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
x="27.970261"
|
||||
y="0"
|
||||
transform="translate(2.1290346,4.4099808)"><tspan
|
||||
x="64.690151"
|
||||
y="136.9912"
|
||||
id="tspan11"><tspan
|
||||
style="font-variant-ligatures:normal;text-orientation:upright"
|
||||
id="tspan10">{{portada}}</tspan></tspan></text>
|
||||
<rect
|
||||
style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:0.825551;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
id="rect4-6"
|
||||
width="50.751522"
|
||||
height="10.636283"
|
||||
x="51.35844"
|
||||
y="135.72629" />
|
||||
</g>
|
||||
<g
|
||||
id="g4-2-9"
|
||||
transform="matrix(0,-1.2478873,1.2478873,0,0.59255852,162.33513)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text3-7-3"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.58611px;line-height:0;font-family:Arial;-inkscape-font-specification:'Arial, Bold';font-variant-ligatures:no-common-ligatures discretionary-ligatures no-contextual;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;white-space:pre-wrap;shape-inside:url(#rect4-6-8);display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.37291;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
x="27.970261"
|
||||
y="0"
|
||||
transform="translate(2.5239521,4.4099808)"><tspan
|
||||
x="65.841054"
|
||||
y="136.9912"
|
||||
id="tspan13"><tspan
|
||||
style="font-variant-ligatures:normal;text-orientation:upright"
|
||||
id="tspan12">{{solapa}}</tspan></tspan></text>
|
||||
<rect
|
||||
style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:0.825551;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
id="rect4-6-8"
|
||||
width="50.751522"
|
||||
height="10.636283"
|
||||
x="51.35844"
|
||||
y="135.72629" />
|
||||
</g>
|
||||
<rect
|
||||
style="fill:#c9d9d4;fill-opacity:1;stroke:#8292a8;stroke-width:1.4395;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
id="rect1-8-1-7-8"
|
||||
width="18.953001"
|
||||
height="94.775017"
|
||||
x="24.558743"
|
||||
y="15.99602" />
|
||||
<g
|
||||
id="g4-2-9-0"
|
||||
transform="matrix(0,-1.2478873,1.2478873,0,-141.60976,162.27774)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text3-7-3-2"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.58611px;line-height:0;font-family:Arial;-inkscape-font-specification:'Arial, Bold';font-variant-ligatures:no-common-ligatures discretionary-ligatures no-contextual;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;white-space:pre-wrap;shape-inside:url(#rect4-6-8-6);display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.37291;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
x="27.970261"
|
||||
y="0"
|
||||
transform="translate(2.5239521,4.4099808)"><tspan
|
||||
x="65.841054"
|
||||
y="136.9912"
|
||||
id="tspan15"><tspan
|
||||
style="font-variant-ligatures:normal;text-orientation:upright"
|
||||
id="tspan14">{{solapa}}</tspan></tspan></text>
|
||||
<rect
|
||||
style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:0.825551;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
id="rect4-6-8-6"
|
||||
width="50.751522"
|
||||
height="10.636283"
|
||||
x="51.35844"
|
||||
y="135.72629" />
|
||||
</g>
|
||||
<g
|
||||
id="g4-2-1"
|
||||
transform="matrix(0,-1.2478873,1.2478873,0,-70.725767,159.15213)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text3-7-8"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.58611px;line-height:0;font-family:Arial;-inkscape-font-specification:'Arial, Bold';font-variant-ligatures:no-common-ligatures discretionary-ligatures no-contextual;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;white-space:pre-wrap;shape-inside:url(#rect4-6-2);display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.37291;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
x="27.970261"
|
||||
y="0"
|
||||
transform="translate(0.00878441,4.4099808)"><tspan
|
||||
x="67.641254"
|
||||
y="136.9912"
|
||||
id="tspan17"><tspan
|
||||
style="font-variant-ligatures:normal;text-orientation:upright"
|
||||
id="tspan16">{{lomo}}</tspan></tspan></text>
|
||||
<rect
|
||||
style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:0.825551;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
id="rect4-6-2"
|
||||
width="50.751522"
|
||||
height="10.636283"
|
||||
x="51.35844"
|
||||
y="135.72629" />
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52777px;line-height:0;font-family:Arial;-inkscape-font-specification:'Arial Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-orientation:upright;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:none;stroke-dashoffset:0.994541;stroke-opacity:1;paint-order:normal"
|
||||
x="-65.329605"
|
||||
y="122.36808"
|
||||
id="text13-8-5"
|
||||
transform="rotate(-90)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan13-2-3"
|
||||
style="stroke-width:0"
|
||||
x="-65.32299"
|
||||
y="122.36808">{{alto}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52777px;line-height:0;font-family:Arial;-inkscape-font-specification:'Arial Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-orientation:upright;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:none;stroke-dashoffset:0.994541;stroke-opacity:1;paint-order:normal"
|
||||
x="141.23253"
|
||||
y="101.62363"
|
||||
id="text13-3"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan13-6"
|
||||
style="stroke-width:0"
|
||||
x="141.23915"
|
||||
y="101.62363">{{ancho}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52777px;line-height:0;font-family:Arial;-inkscape-font-specification:'Arial Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-orientation:upright;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:none;stroke-dashoffset:0.994541;stroke-opacity:1;paint-order:normal"
|
||||
x="69.212975"
|
||||
y="101.62363"
|
||||
id="text13-3-1"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan13-6-4"
|
||||
style="stroke-width:0"
|
||||
x="69.219589"
|
||||
y="101.62363">{{ancho}} mm</tspan></text>
|
||||
<g
|
||||
id="g4-7-0"
|
||||
transform="matrix(1.2478873,0,0,1.2478873,-134.4255,19.484879)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:3.52778px;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="105.07859"
|
||||
y="126.83306"
|
||||
id="text7"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52778px;font-family:Arial, boldl;-inkscape-font-specification:'Arial, boldl Bold';stroke-width:0.264583"
|
||||
x="105.08521"
|
||||
y="126.83306">{{ancho_t}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:2.82222px;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="105.31609"
|
||||
y="26.035662"
|
||||
id="text7-7"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7-1"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.82222px;font-family:Arial, boldl;-inkscape-font-specification:'Arial, boldl Bold';stroke-width:0.264583"
|
||||
x="105.32271"
|
||||
y="26.035662">{{lomo_t}} mm</tspan></text>
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.820919;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:1.64183, 0.820919;stroke-dashoffset:0.328368;stroke-opacity:1;marker-start:url(#Triangle-5-1-9);marker-end:url(#marker6-3-8-0);paint-order:normal"
|
||||
d="m 169.57878,97.434632 13.02331,0.06153"
|
||||
id="path5-3-7-8"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:2.82222px;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="176.14073"
|
||||
y="101.38786"
|
||||
id="text7-7-3"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7-1-4"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.82222px;font-family:Arial, boldl;-inkscape-font-specification:'Arial, boldl Bold';stroke-width:0.264583"
|
||||
x="176.14735"
|
||||
y="101.38786">{{solapa_t}} mm</tspan></text>
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.820919;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:1.64183, 0.820919;stroke-dashoffset:0.328368;stroke-opacity:1;marker-start:url(#Triangle-5-1-9-0);marker-end:url(#marker6-3-8-0-6);paint-order:normal"
|
||||
d="m 27.840231,97.50449 13.023235,0.06153"
|
||||
id="path5-3-7-8-9"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:2.82222px;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="34.403442"
|
||||
y="101.45772"
|
||||
id="text7-7-3-6"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7-1-4-3"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.82222px;font-family:Arial, boldl;-inkscape-font-specification:'Arial, boldl Bold';stroke-width:0.264583"
|
||||
x="34.410057"
|
||||
y="101.45772">{{solapa_t}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:3.52778px;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="-63.871456"
|
||||
y="202.53311"
|
||||
id="text7-8"
|
||||
transform="rotate(-90)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7-2"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52778px;font-family:Arial, boldl;-inkscape-font-specification:'Arial, boldl Bold';stroke-width:0.264583"
|
||||
x="-63.864841"
|
||||
y="202.53311">{{alto_t}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="105.14069"
|
||||
y="11.526331"
|
||||
id="text7-1"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7-6"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';stroke-width:0.264583"
|
||||
x="105.14731"
|
||||
y="11.526331">{{sangrado}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="105.14069"
|
||||
y="117.33289"
|
||||
id="text7-1-1"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7-6-8"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';stroke-width:0.264583"
|
||||
x="105.1473"
|
||||
y="117.33289">{{sangrado}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="-63.443714"
|
||||
y="20.223143"
|
||||
id="text7-1-5"
|
||||
transform="rotate(-90)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7-6-4"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';stroke-width:0.264583"
|
||||
x="-63.437099"
|
||||
y="20.223143">{{sangrado}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="-63.462257"
|
||||
y="192.31326"
|
||||
id="text7-1-5-3"
|
||||
transform="rotate(-90)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7-6-4-4"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';stroke-width:0.264583"
|
||||
x="-63.455643"
|
||||
y="192.31326">{{sangrado}} mm</tspan></text>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 33 KiB |
@ -0,0 +1,576 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="189.90369mm"
|
||||
height="122.48086mm"
|
||||
viewBox="0 0 189.90369 122.48086"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
inkscape:version="1.4.3 (0d15f75, 2025-12-25)"
|
||||
sodipodi:docname="plantilla.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:zoom="1.4378367"
|
||||
inkscape:cx="311.23144"
|
||||
inkscape:cy="214.55844"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1009"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs1">
|
||||
<rect
|
||||
x="148.51912"
|
||||
y="407.19812"
|
||||
width="184.41943"
|
||||
height="125.40522"
|
||||
id="rect7" />
|
||||
<rect
|
||||
x="171.09036"
|
||||
y="459.02292"
|
||||
width="159.26704"
|
||||
height="90.413605"
|
||||
id="rect3" />
|
||||
<marker
|
||||
id="Arrow2Sstart"
|
||||
inkscape:isstock="true"
|
||||
inkscape:stockid="Arrow2Sstart"
|
||||
orient="auto"
|
||||
refX="0"
|
||||
refY="0"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
d="M 8.72,4.03 -2.21,0.02 8.72,-4 c -1.75,2.37 -1.74,5.62 0,8.03 z"
|
||||
id="Arrow2SstartPath"
|
||||
style="fill:#000000;fill-opacity:1;stroke:none"
|
||||
transform="matrix(0.3,0,0,0.3,-0.69,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
id="Arrow2Send"
|
||||
inkscape:isstock="true"
|
||||
inkscape:stockid="Arrow2Send"
|
||||
orient="auto"
|
||||
refX="0"
|
||||
refY="0"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
d="M 8.72,4.03 -2.21,0.02 8.72,-4 c -1.75,2.37 -1.74,5.62 0,8.03 z"
|
||||
id="Arrow2SendPath"
|
||||
style="fill:#000000;fill-opacity:1;stroke:none"
|
||||
transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Triangle-5"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135-4" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6-3"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path6-1" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Triangle-5-1"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135-4-3" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6-3-8"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path6-1-7" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Triangle-5-3"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135-4-1" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6-3-9"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path6-1-8" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Triangle-5-3-6"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135-4-1-1" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6-3-9-5"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path6-1-8-4" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Triangle-5-3-4"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135-4-1-12" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6-3-9-0"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path6-1-8-0" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Triangle-5-3-6-1"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path135-4-1-1-7" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker6-3-9-5-7"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto-start-reverse"
|
||||
inkscape:stockid="Triangle arrow"
|
||||
markerWidth="0.5"
|
||||
markerHeight="0.5"
|
||||
viewBox="0 0 1 1"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
markerUnits="userSpaceOnUse">
|
||||
<path
|
||||
transform="scale(0.5)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
||||
id="path6-1-8-4-7" />
|
||||
</marker>
|
||||
</defs>
|
||||
<g
|
||||
inkscape:label="Capa 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-14.044687,-5.7512817)">
|
||||
<rect
|
||||
style="opacity:1;fill:#dee3db;fill-opacity:1;stroke:#8292a8;stroke-width:0.624;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
id="rect2"
|
||||
width="182.32635"
|
||||
height="115.28469"
|
||||
x="14.044687"
|
||||
y="5.7512817" />
|
||||
<g
|
||||
id="g2"
|
||||
transform="translate(2.2085342,-0.96640021)">
|
||||
<rect
|
||||
style="opacity:1;fill:#c9d9d4;fill-opacity:1;stroke:#8292a8;stroke-width:1.57858;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1"
|
||||
width="70.725983"
|
||||
height="94.607483"
|
||||
x="22.474981"
|
||||
y="17.039194" />
|
||||
<rect
|
||||
style="opacity:1;fill:#c9d9d4;fill-opacity:1;stroke:#8292a8;stroke-width:1.57858;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1-8"
|
||||
width="70.725983"
|
||||
height="94.607483"
|
||||
x="112.79771"
|
||||
y="17.057735" />
|
||||
<rect
|
||||
style="fill:#c9d9d4;fill-opacity:1;stroke:#8292a8;stroke-width:1.4395;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
id="rect1-8-1"
|
||||
width="18.953001"
|
||||
height="94.775017"
|
||||
x="93.596756"
|
||||
y="16.97538" />
|
||||
<path
|
||||
style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:1.157;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
d="m 23.921577,124.62439 58.700742,-0.18401"
|
||||
id="path4" />
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.820919;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:1.64183, 0.820919;stroke-dashoffset:0.328368;stroke-opacity:1;marker-start:url(#Triangle-5);marker-end:url(#marker6-3);paint-order:normal"
|
||||
d="m 115.91162,98.144427 64.68451,-0.235349"
|
||||
id="path5-3"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.820919;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:1.64183, 0.820919;stroke-dashoffset:0.328368;stroke-opacity:1;marker-start:url(#Triangle-5-3);marker-end:url(#marker6-3-9);paint-order:normal"
|
||||
d="M 25.444754,98.264779 90.128901,98.02943"
|
||||
id="path5-3-0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.820919;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:1.64183, 0.820919;stroke-dashoffset:0.328368;stroke-opacity:1;marker-start:url(#Triangle-5-3-6);marker-end:url(#marker6-3-9-5);paint-order:normal"
|
||||
d="M 123.29,109.14665 122.88164,19.631562"
|
||||
id="path5-3-0-9"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.820919;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:1.64183, 0.820919;stroke-dashoffset:0.328368;stroke-opacity:1;marker-start:url(#Triangle-5-1);marker-end:url(#marker6-3-8);paint-order:normal"
|
||||
d="m 96.545605,29.398843 13.023315,0.06153"
|
||||
id="path5-3-7"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.820919;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:1.64183, 0.820919;stroke-dashoffset:0.328368;stroke-opacity:1;marker-start:url(#Triangle-5-3-4);marker-end:url(#marker6-3-9-0);paint-order:normal"
|
||||
d="m 13.752058,124.20085 178.229792,0.0889"
|
||||
id="path5-3-0-6"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.820919;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:1.64183, 0.820919;stroke-dashoffset:0.328368;stroke-opacity:1;marker-start:url(#Triangle-5-3-6-1);marker-end:url(#marker6-3-9-5-7);paint-order:normal"
|
||||
d="M 196.99745,120.60716 196.58909,9.1942972"
|
||||
id="path5-3-0-9-3"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</g>
|
||||
<g
|
||||
id="g4"
|
||||
transform="matrix(1.2478873,0,0,1.2478873,-35.709132,-112.63102)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text3"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.58611px;line-height:0;font-family:Arial;-inkscape-font-specification:'Arial, Bold';font-variant-ligatures:no-common-ligatures discretionary-ligatures no-contextual;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;white-space:pre-wrap;shape-inside:url(#rect4);display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.37291;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
x="27.970261"
|
||||
y="0"
|
||||
transform="translate(0.00878441,4.4099808)"><tspan
|
||||
x="57.642538"
|
||||
y="136.9912"
|
||||
id="tspan9"><tspan
|
||||
style="font-variant-ligatures:normal;text-orientation:upright"
|
||||
id="tspan8">{{contraportada}}</tspan></tspan></text>
|
||||
<rect
|
||||
style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:0.825551;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
id="rect4"
|
||||
width="50.751522"
|
||||
height="10.636283"
|
||||
x="51.35844"
|
||||
y="135.72629" />
|
||||
</g>
|
||||
<g
|
||||
id="g4-2"
|
||||
transform="matrix(1.2478873,0,0,1.2478873,54.613592,-112.61247)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text3-7"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.58611px;line-height:0;font-family:Arial;-inkscape-font-specification:'Arial, Bold';font-variant-ligatures:no-common-ligatures discretionary-ligatures no-contextual;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;white-space:pre-wrap;shape-inside:url(#rect4-6);display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.37291;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
x="27.970261"
|
||||
y="0"
|
||||
transform="translate(2.1290346,4.4099808)"><tspan
|
||||
x="64.690151"
|
||||
y="136.9912"
|
||||
id="tspan11"><tspan
|
||||
style="font-variant-ligatures:normal;text-orientation:upright"
|
||||
id="tspan10">{{portada}}</tspan></tspan></text>
|
||||
<rect
|
||||
style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:0.825551;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
id="rect4-6"
|
||||
width="50.751522"
|
||||
height="10.636283"
|
||||
x="51.35844"
|
||||
y="135.72629" />
|
||||
</g>
|
||||
<g
|
||||
id="g4-2-1"
|
||||
transform="matrix(0,-1.2478873,1.2478873,0,-70.725767,159.15213)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text3-7-8"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.58611px;line-height:0;font-family:Arial;-inkscape-font-specification:'Arial, Bold';font-variant-ligatures:no-common-ligatures discretionary-ligatures no-contextual;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;white-space:pre-wrap;shape-inside:url(#rect4-6-2);display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.37291;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
x="27.970261"
|
||||
y="0"
|
||||
transform="translate(0.00878441,4.4099808)"><tspan
|
||||
x="67.641254"
|
||||
y="136.9912"
|
||||
id="tspan13"><tspan
|
||||
style="font-variant-ligatures:normal;text-orientation:upright"
|
||||
id="tspan12">{{lomo}}</tspan></tspan></text>
|
||||
<rect
|
||||
style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:0.825551;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
id="rect4-6-2"
|
||||
width="50.751522"
|
||||
height="10.636283"
|
||||
x="51.35844"
|
||||
y="135.72629" />
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52777px;line-height:0;font-family:Arial;-inkscape-font-specification:'Arial Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-orientation:upright;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:none;stroke-dashoffset:0.994541;stroke-opacity:1;paint-order:normal"
|
||||
x="-65.329605"
|
||||
y="130.30556"
|
||||
id="text13-8-5"
|
||||
transform="rotate(-90)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan13-2-3"
|
||||
style="stroke-width:0"
|
||||
x="-65.32299"
|
||||
y="130.30556">{{alto}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52777px;line-height:0;font-family:Arial;-inkscape-font-specification:'Arial Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-orientation:upright;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:none;stroke-dashoffset:0.994541;stroke-opacity:1;paint-order:normal"
|
||||
x="150.52528"
|
||||
y="101.62363"
|
||||
id="text13-3"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan13-6"
|
||||
style="stroke-width:0"
|
||||
x="150.53191"
|
||||
y="101.62363">{{ancho}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52777px;line-height:0;font-family:Arial;-inkscape-font-specification:'Arial Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-orientation:upright;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linejoin:miter;stroke-miterlimit:3.8;stroke-dasharray:none;stroke-dashoffset:0.994541;stroke-opacity:1;paint-order:normal"
|
||||
x="60.058235"
|
||||
y="101.62363"
|
||||
id="text13-3-1"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan13-6-4"
|
||||
style="stroke-width:0"
|
||||
x="60.06485"
|
||||
y="101.62363">{{ancho}} mm</tspan></text>
|
||||
<g
|
||||
id="g4-7-0"
|
||||
transform="matrix(1.2478873,0,0,1.2478873,-134.4255,19.484879)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:3.52778px;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="105.07859"
|
||||
y="126.83306"
|
||||
id="text7"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52778px;font-family:Arial, boldl;-inkscape-font-specification:'Arial, boldl Bold';stroke-width:0.264583"
|
||||
x="105.08521"
|
||||
y="126.83306">{{ancho_t}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:2.82222px;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="105.31609"
|
||||
y="26.035662"
|
||||
id="text7-7"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7-1"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.82222px;font-family:Arial, boldl;-inkscape-font-specification:'Arial, boldl Bold';stroke-width:0.264583"
|
||||
x="105.32271"
|
||||
y="26.035662">{{lomo_t}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:3.52778px;text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="-63.871456"
|
||||
y="202.53311"
|
||||
id="text7-8"
|
||||
transform="rotate(-90)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7-2"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52778px;font-family:Arial, boldl;-inkscape-font-specification:'Arial, boldl Bold';stroke-width:0.264583"
|
||||
x="-63.864841"
|
||||
y="202.53311">{{alto_t}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="105.14069"
|
||||
y="11.526331"
|
||||
id="text7-1"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7-6"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';stroke-width:0.264583"
|
||||
x="105.1473"
|
||||
y="11.526331">{{sangrado}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="105.14069"
|
||||
y="117.33289"
|
||||
id="text7-1-1"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7-6-8"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';stroke-width:0.264583"
|
||||
x="105.1473"
|
||||
y="117.33289">{{sangrado}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="-63.443714"
|
||||
y="20.223143"
|
||||
id="text7-1-5"
|
||||
transform="rotate(-90)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7-6-4"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';stroke-width:0.264583"
|
||||
x="-63.437099"
|
||||
y="20.223143">{{sangrado}} mm</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';text-align:center;letter-spacing:0.0132292px;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#000000;stroke-width:0.264583"
|
||||
x="-63.462257"
|
||||
y="192.31326"
|
||||
id="text7-1-5-3"
|
||||
transform="rotate(-90)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7-6-4-4"
|
||||
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:3.52778px;font-family:Arial;-inkscape-font-specification:'Arial Italic Condensed';stroke-width:0.264583"
|
||||
x="-63.455643"
|
||||
y="192.31326">{{sangrado}} mm</tspan></text>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 25 KiB |
@ -151,13 +151,14 @@ $(() => {
|
||||
|
||||
if (direccionId) {
|
||||
$.ajax({
|
||||
url: `/checkout/get-summary/${direccionId}`,
|
||||
url: `/checkout/get-summary/${direccionId}/${$('input[name="method"]').val()}`,
|
||||
type: 'GET',
|
||||
success: function (response) {
|
||||
const parent = $('.cart-summary-container').parent();
|
||||
$('.cart-summary-container').remove();
|
||||
parent.append(response);
|
||||
$('#dirFactId').val(direccionId);
|
||||
$('#dirFactWarning').addClass('d-none');
|
||||
},
|
||||
error: function () {
|
||||
console.error('Error al actualizar el resumen del carrito.');
|
||||
@ -187,6 +188,7 @@ $(() => {
|
||||
success: function (response) {
|
||||
const parent = $('.cart-summary-container').parent();
|
||||
$('.cart-summary-container').remove();
|
||||
$('#dirFactWarning').removeClass('d-none');
|
||||
parent.append(response);
|
||||
},
|
||||
error: function () {
|
||||
|
||||
@ -107,6 +107,8 @@ export default class PresupuestoWizard {
|
||||
}
|
||||
},
|
||||
selectedTirada: 10,
|
||||
lomo: 0,
|
||||
lomoCubierta: 0
|
||||
}
|
||||
|
||||
// pestaña datos generales
|
||||
@ -443,7 +445,9 @@ export default class PresupuestoWizard {
|
||||
...this.#getDatosGeneralesData(),
|
||||
...this.#getInteriorData(),
|
||||
...this.#getCubiertaData(),
|
||||
selectedTirada: this.formData.selectedTirada
|
||||
selectedTirada: this.formData.selectedTirada,
|
||||
lomo: this.formData.lomo,
|
||||
lomoCubierta: this.formData.lomoCubierta
|
||||
};
|
||||
|
||||
const sobrecubierta = data.sobrecubierta;
|
||||
@ -714,17 +718,14 @@ export default class PresupuestoWizard {
|
||||
.prop('checked', true);
|
||||
this.#updateTipoEncuadernacion();
|
||||
|
||||
this.formatoPersonalizado.trigger('change');
|
||||
|
||||
$('.paginas').trigger('change');
|
||||
|
||||
if (this.formatoPersonalizado.is(':checked')) {
|
||||
this.ancho.val(this.formData.datosGenerales.ancho);
|
||||
this.alto.val(this.formData.datosGenerales.alto);
|
||||
} else {
|
||||
const option = this.formato.find('option').filter(() => {
|
||||
return $(this).data('ancho') == this.formData.datosGenerales.ancho &&
|
||||
$(this).data('alto') == this.formData.datosGenerales.alto;
|
||||
const option = this.formato.find('option').filter((index, element) => {
|
||||
return $(element).data('ancho') == this.formData.datosGenerales.ancho &&
|
||||
$(element).data('alto') == this.formData.datosGenerales.alto;
|
||||
});
|
||||
|
||||
if (option.length) {
|
||||
@ -732,6 +733,8 @@ export default class PresupuestoWizard {
|
||||
}
|
||||
}
|
||||
|
||||
this.formatoPersonalizado.trigger('change');
|
||||
$('.paginas').trigger('change');
|
||||
this.ivaReducido.prop('checked', this.formData.datosGenerales.ivaReducido);
|
||||
}
|
||||
|
||||
@ -965,6 +968,7 @@ export default class PresupuestoWizard {
|
||||
} else {
|
||||
const maxSolapas = data.solapas ?? 120;
|
||||
const lomo = data.lomo ?? 0;
|
||||
|
||||
$('.solapas-presupuesto').attr('max', maxSolapas);
|
||||
$('.max-solapa-text').text(function (_, textoActual) {
|
||||
return textoActual.replace(/\d+/, maxSolapas);
|
||||
@ -989,16 +993,16 @@ export default class PresupuestoWizard {
|
||||
this.acabadoSobrecubierta.val(this.formData.cubierta.sobrecubierta.acabado);
|
||||
this.fajaSobrecubierta.val(this.formData.cubierta.faja.acabado);
|
||||
|
||||
if(lomo < 10){
|
||||
if (lomo < 10) {
|
||||
this.formData.cubierta.cabezada = "NOCAB";
|
||||
this.cabezada.val("NOCAB");
|
||||
this.cabezada.prop("disabled", true);
|
||||
if(this.formData.cubierta.tipoCubierta === 'tapaDuraLomoRedondo'){
|
||||
if (this.formData.cubierta.tipoCubierta === 'tapaDuraLomoRedondo') {
|
||||
this.formData.cubierta.tipoCubierta = 'tapaDura';
|
||||
}
|
||||
$("#tapaDuraLomoRedondo").addClass("d-none");
|
||||
}
|
||||
else{
|
||||
else {
|
||||
this.cabezada.prop("disabled", false);
|
||||
$("#tapaDuraLomoRedondo").removeClass("d-none");
|
||||
}
|
||||
@ -1018,6 +1022,7 @@ export default class PresupuestoWizard {
|
||||
|
||||
const dataCubierta = this.#getCubiertaData();
|
||||
this.#updateCubiertaData(dataCubierta);
|
||||
this.formData.lomo = lomo;
|
||||
this.#cacheFormData();
|
||||
|
||||
}
|
||||
@ -1139,13 +1144,21 @@ export default class PresupuestoWizard {
|
||||
#initCubierta() {
|
||||
|
||||
this.btn_plantilla_cubierta.on('click', () => {
|
||||
let url = `/presupuesto/api/plantilla-cubierta.png
|
||||
?tipo=${this.formData.datosGenerales.tipoEncuadernacion}
|
||||
&tapa=${this.formData.cubierta.tipoCubierta}
|
||||
&ancho=${this.formData.datosGenerales.ancho}
|
||||
&alto=${this.formData.datosGenerales.alto}
|
||||
&lomo=${Math.round(this.formData.lomo) || 0}
|
||||
&solapas=${this.formData.cubierta.solapasCubierta == 1 ? this.formData.cubierta.tamanioSolapasCubierta : 0}`;
|
||||
url = url.trim().replace(/\s+/g, '');
|
||||
Swal.fire({
|
||||
position: 'top-end',
|
||||
icon: 'info',
|
||||
title: window.languageBundle.get('presupuesto.plantilla-cubierta'),
|
||||
html: `
|
||||
<div class="text-center p-4">
|
||||
<img src="/assets/images/imprimelibros/presupuestador/plantilla-cubierta.png" class="img-fluid" alt="" />
|
||||
<img src="${url}" class="img-fluid" alt="" />
|
||||
</div>
|
||||
<div class="acitivity-timeline p-4">
|
||||
${window.languageBundle.get('presupuesto.plantilla-cubierta-text')}
|
||||
@ -1437,7 +1450,10 @@ export default class PresupuestoWizard {
|
||||
#getCubiertaData() {
|
||||
|
||||
const tipoCubierta = $('.tapa-cubierta input:checked').val() || 'tapaBlanda';
|
||||
const solapas = $('.solapas-cubierta input:checked').val() == 'sin-solapas' ? 0 : 1 || 0;
|
||||
let solapas = 0;
|
||||
if (tipoCubierta === 'tapaBlanda') {
|
||||
solapas = $('.solapas-cubierta input:checked').val() == 'conSolapas' ? 1 : 0 || 0;
|
||||
}
|
||||
const tamanioSolapasCubierta = $('#tamanio-solapas-cubierta').val() || '80';
|
||||
const cubiertaCaras = parseInt(this.carasImpresionCubierta.val()) || 2;
|
||||
const papelGuardasId = parseInt($('#papel-guardas option:selected').data('papel-id')) || 3;
|
||||
@ -1684,6 +1700,11 @@ export default class PresupuestoWizard {
|
||||
this.divTiradas.append(item.renderCol(this.divTiradas));
|
||||
}
|
||||
|
||||
if (data.lomo_cubierta) {
|
||||
this.formData.lomoCubierta = data.lomo_cubierta;
|
||||
this.#cacheFormData();
|
||||
}
|
||||
|
||||
if (this.divTiradas.find('.tirada-card input[type="radio"]:checked').length === 0) {
|
||||
this.divTiradas.find('.tirada-card input[type="radio"]').first().prop('checked', true).trigger('change');
|
||||
this.formData.selectedTirada = this.divTiradas.find('.tirada-card input[type="radio"]').first().data('unidades') || data.tiradas[0];
|
||||
|
||||
@ -0,0 +1,33 @@
|
||||
$(() => {
|
||||
$('#btn-plantilla-cubierta').on('click', () => {
|
||||
let url = `/presupuesto/api/plantilla-cubierta.png
|
||||
?tipo=${$('#tipoEncuadernacion').val()}
|
||||
&tapa=${$('#tipoCubierta').val()}
|
||||
&ancho=${$('#ancho').val()}
|
||||
&alto=${$('#alto').val()}
|
||||
&lomo=${Math.round($('#lomo').val()) || 0}
|
||||
&solapas=${$('#solapasCubierta').val() == 1 ? $('#tamanioSolapasCubierta').val() : 0}`;
|
||||
url = url.trim().replace(/\s+/g, '');
|
||||
Swal.fire({
|
||||
position: 'top-end',
|
||||
icon: 'info',
|
||||
title: window.languageBundle.get('presupuesto.plantilla-cubierta'),
|
||||
html: `
|
||||
<div class="text-center p-4">
|
||||
<img src="${url}" class="img-fluid" alt="" />
|
||||
</div>
|
||||
<div class="acitivity-timeline p-4">
|
||||
${window.languageBundle.get('presupuesto.plantilla-cubierta-text')}
|
||||
</div>
|
||||
`,
|
||||
confirmButtonClass: 'btn btn-primary w-xs mt-2',
|
||||
showConfirmButton: false,
|
||||
showCloseButton: true,
|
||||
buttonsStyling: false,
|
||||
customClass: {
|
||||
confirmButton: 'btn btn-secondary me-2', // clases para el botón confirmar
|
||||
cancelButton: 'btn btn-light' // clases para cancelar
|
||||
},
|
||||
});
|
||||
});
|
||||
});
|
||||
@ -48,7 +48,7 @@
|
||||
</div>
|
||||
<form th:action="@{/pagos/redsys/crear}" method="post">
|
||||
<input type="hidden" name="amountCents" th:value="${summary.amountCents}" />
|
||||
<input type="hidden" name="method" value="card" />
|
||||
<input type="hidden" name="method" th:value="${method} ?: 'card'" />
|
||||
<input type="hidden" name="cartId" th:value="${summary.cartId}" />
|
||||
<input type="hidden" id="dirFactId" name="dirFactId" value="" />
|
||||
<button id="btn-checkout" type="submit" class="btn btn-secondary w-100 mt-2"
|
||||
|
||||
@ -50,6 +50,9 @@
|
||||
<div>
|
||||
<h5 th:text="#{checkout.billing-address}" class="mb-3">Dirección de envío</h5>
|
||||
|
||||
<div id="dirFactWarning" class="alert alert-danger alert-shipment" role="alert"
|
||||
th:text="#{cart.shipping.errors.fillBillingAddressItems}"></div>
|
||||
|
||||
<button type="button" class="btn btn-secondary mb-3" id="addBillingAddressBtn"
|
||||
th:text="#{cart.shipping.add}">Añadir dirección
|
||||
</button>
|
||||
|
||||
61
src/main/resources/templates/imprimelibros/error/error.html
Normal file
61
src/main/resources/templates/imprimelibros/error/error.html
Normal file
@ -0,0 +1,61 @@
|
||||
<!doctype html>
|
||||
<html xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
||||
layout:decorate="~{imprimelibros/layout}">
|
||||
|
||||
<head>
|
||||
<th:block layout:fragment="pagetitle" />
|
||||
<th:block th:replace="~{imprimelibros/partials/head-css :: head-css}" />
|
||||
<th:block layout:fragment="pagecss">
|
||||
<link th:href="@{/assets/libs/datatables/dataTables.bootstrap5.min.css}" rel="stylesheet" />
|
||||
</th:block>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div th:replace="~{imprimelibros/partials/topbar :: topbar}" />
|
||||
<div th:replace="~{imprimelibros/partials/sidebar :: sidebar}"
|
||||
sec:authorize="isAuthenticated() and hasAnyRole('SUPERADMIN','ADMIN')">
|
||||
|
||||
<th:block layout:fragment="content">
|
||||
<!-- CONTENIDO -->
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-lg-7">
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-body p-4 p-md-5 text-center">
|
||||
|
||||
<h1 class="display-4 mb-2" th:text="${status}">404</h1>
|
||||
<h4 class="mb-3" th:text="${error}">Not Found</h4>
|
||||
|
||||
<p class="text-muted mb-4"
|
||||
th:text="${message != null and !#strings.isEmpty(message)} ? ${message} : 'Ha ocurrido un error inesperado.'">
|
||||
Ha ocurrido un error inesperado.
|
||||
</p>
|
||||
|
||||
<div class="small text-muted mb-4">
|
||||
<div><strong>Ruta:</strong> <span th:text="${path}">/logout</span></div>
|
||||
<div><strong>Fecha:</strong> <span
|
||||
th:text="${#temporals.format(timestamp, 'dd/MM/yyyy HH:mm:ss')}">--</span></div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex gap-2 justify-content-center">
|
||||
<a class="btn btn-primary" th:href="@{/}">Volver al inicio</a>
|
||||
<a class="btn btn-outline-secondary" href="javascript:history.back()">Atrás</a>
|
||||
</div>
|
||||
|
||||
<!-- Opcional: bloque extra sólo para 404 -->
|
||||
<div class="mt-4" th:if="${is404}">
|
||||
<div class="alert alert-warning mb-0">
|
||||
No se ha encontrado el recurso solicitado.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /CONTENIDO -->
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@ -17,7 +17,18 @@
|
||||
<div class="col-9 mx-auto mt-4">
|
||||
<h5 id="resumen-titulo" class="text-center"></h5>
|
||||
<h6 th:if="${presupuesto?.isReimpresion}" th:text="#{presupuesto.reimpresion}"
|
||||
class="text-uppercase bg-danger text-white text-center">REIMPRESION</h6>
|
||||
class="text-uppercase bg-danger text-white text-center">REIMPRESION</h6>
|
||||
|
||||
<div class="row justify-content-center mb-3">
|
||||
<div class="col-auto">
|
||||
<button type="button" id="btn-plantilla-cubierta" class="btn btn-outline-primary btn-border">
|
||||
<i class="ri-questionnaire-line label-icon align-middle fs-16 me-2"></i>
|
||||
<span th:text="#{presupuesto.plantilla-cubierta}">
|
||||
Plantilla de cubierta
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<table id="resumen-tabla-final" class="table table-borderless table-striped mt-3"
|
||||
th:data-currency="#{app.currency}">
|
||||
<thead>
|
||||
|
||||
@ -44,18 +44,40 @@
|
||||
|
||||
<input type="hidden" id="presupuesto_id" th:value="${presupuesto.id}" />
|
||||
|
||||
<input type="hidden" id="ancho" th:value="${presupuesto.ancho}" />
|
||||
<input type="hidden" id="alto" th:value="${presupuesto.alto}" />
|
||||
<input type="hidden" id="lomo" th:value="${presupuesto.lomo}" />
|
||||
<input type="hidden" id="tipoEncuadernacion" th:value="${presupuesto.tipoEncuadernacion}" />
|
||||
<input type="hidden" id="tipoCubierta" th:value="${presupuesto.tipoCubierta}" />
|
||||
<input type="hidden" id="solapasCubierta" th:value="${presupuesto.solapasCubierta}" />
|
||||
<input type="hidden" id="tamanioSolapasCubierta" th:value="${presupuesto.tamanioSolapasCubierta}" />
|
||||
|
||||
<div class="row" id="card presupuesto-row animate-fadeInUpBounce">
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h4 id="titulo" class="card-title mb-0 text-uppercase" th:text="${resumen.titulo}">Resumen del
|
||||
<h4 id="titulo" class="card-title mb-0 text-uppercase" th:text="${resumen.titulo}">
|
||||
Resumen del
|
||||
presupuesto</h4>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<div th:if="${presupuesto.isReimpresion}" class="row">
|
||||
<h6 th:text="#{presupuesto.reimpresion}" class="bg-danger py-2 text-center text-white text-uppercase">REIMPRESION</h6>
|
||||
<h6 th:text="#{presupuesto.reimpresion}"
|
||||
class="bg-danger py-2 text-center text-white text-uppercase">REIMPRESION</h6>
|
||||
</div>
|
||||
|
||||
<div class="row justify-content-center mb-3">
|
||||
<div class="col-auto">
|
||||
<button type="button" id="btn-plantilla-cubierta"
|
||||
class="btn btn-outline-primary btn-border">
|
||||
<i class="ri-questionnaire-line label-icon align-middle fs-16 me-2"></i>
|
||||
<span th:text="#{presupuesto.plantilla-cubierta}">
|
||||
Plantilla de cubierta
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card col-12 col-sm-9 mx-auto">
|
||||
@ -234,6 +256,8 @@
|
||||
<script type="module" th:src="@{/assets/js/pages/imprimelibros/presupuestos/resumen-view.js}"></script>
|
||||
<script type="module" th:src="@{/assets/js/pages/imprimelibros/presupuestos/duplicate-reprint.js}"></script>
|
||||
|
||||
<script type="module" th:src="@{/assets/js/pages/imprimelibros/presupuestos/plantilla-cubierta.js}"></script>
|
||||
|
||||
</th:block>
|
||||
</body>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user